בקשת code review... סקריפט המרת וידיאו ב-iframe
-
עוד מקרה,
https://www.vishay.com/videos/capacitorsconnectors/estaspring-connection-8211-product-overview.html
כאן אלמנט הוידיאו לא זורק שגיאה, מכיון שעוד לא קייםsrc
, זאת מכיון שיש שגיאה קודמת של קריאת AJAX.
מה הפתרון?עריכה: לכאורה אין פתרון, כי גם אם נצליח לזהות את מצב החסימה, עדיין איננו יודעים מהו ה-
src
של הוידיאו כדי לשלוח פניהעריכה2: פתחו את החסימה, מתברר שה-
src
של הוידיאו הואblob
... לכאורה במקרה כזה אין דרך אוטומטית לחלץ את ה-URL המקורי של הוידיאו, נכון? -
https://www.vishay.com/videos/mosfets/trenchfet174-mosfets-in-automotive-applications.html
כאן יש בעיה אחרת - אלמנט הוידיאו יש לו
left-margin: -999999
, עד שלוחצים על ואז הוא מקבלleft-margin: 0
. מכיון שה-iframe נוצר לפני הלחיצה על ממילא הוא יורש את ההגדרה שלleft-margin: -999999
.פתרון אפשרי: להאזין לשינויי attributes על הוידיאו ולפעול בהתאם.
-
@yossiz אמר בבקשת code review... סקריפט המרת וידיאו ב-iframe:
נ. ב. @dovid אני לא מנסה להתנצח או להראות לכולם ראו! הצלחתי לכתוב משהו יותר טוב!. רק שעבדתי על זה די קשה, ואני מאמין שעדיין אפשר לשפר את זה יותר. לכן אני מבקש ביקורות. אני מקווה שבסוף כל משתמשי נטפרי יהנו משיפור זה.
ההתנצלות הזו קצת מעליבה אותי, אני לא הייתי בחיים בא בטענה על מישהו ש"מעיז" לשפר קוד שלי.
ההערות שלך נכונות ולקחתי אותם בחשבון (לא היה לי פתרון וגם לא נלחצתי כי לא שאפתי מייד לשלמות - עד היום היה צריך הקלטה למי שלא יודע לחפש את הכתובת בקונסול).
הפתרון שלך מצויין. אני חשבתי על כיוון של יצירת דיב עם אותם הגדרות של הוידאו ולהעביר את הוידאו לתוכו אבל אפילו לא ניסיתי את זה כי היה לי תחושה שניתוק מהDOM והחזרה אליו יעוררו את האירוע שוב ושוב - אולי אני טועה. -
@dovid אמר בבקשת code review... סקריפט המרת וידיאו ב-iframe:
ההתנצלות הזו קצת מעליבה אותי, אני לא הייתי בחיים בא בטענה על מישהו ש"מעיז" לשפר קוד שלי.
סליחה...
תודה על ההערות
@dovid אמר בבקשת code review... סקריפט המרת וידיאו ב-iframe:
כי לא שאפתי מייד לשלמות
אני מסכים לגמרי שלא צריך שלמות מיד. רק מה, הסיבה שבכלל שמתי לב לסקריפט היתה כי זה שיבש דפים. אולי כדאי להשבית את הסקריפט עד שלפחות הוא לא ישבש דפים.
-
ראיתי ש@magicode אימץ את הקוד שלך.
אבל @shraga הראה לי את הדף הזה https://developers.google.com/web/updates/2019/06
הוידאו שמה ללא parent אישי, אלא ממש חלק מתוכן הדף ממילא הappend מוסיף רחוק מאוד מהמיקום המקורי (כאיבר אחרון במיכל).
לכן אני חושב שצריךvideoElement.outerHTML = newNode.outerHTML;
-
@dovid אני חושש שזה יגרום לבעיות, כי יש עדיין error handler על ה-node של הוידיאו, האם זה יבוטל אוטומטית?
גם אני עושה כל שלוש שניות העתקה חוזרת של המאפיינים, בגלל בעיה שציינתי למעלה.
עריכה אני רואה ש@magicode הוריד את זה... באמת לא היה פתרון אלגנטי...
אולי כך:videoElement.after(newNode);
אגב, יש עוד בעיה שעוד לא מצאתי לה פתרון, בדף זה הדפדפן מסרב להטעין את האייפרים בגלל
X-Frames-Options
.ועוד בעיה מצאתי בזכות ההפניה לאתר זה, שחכתי להוסיף למערך התכונות שצריך להעתיק את התכונה
float
... (שם הוידיאו מקבלfloat: right
והאייפרים עומד בצד שמאל) -
-
@yossiz תנסה את הקוד הבא:
var btn = document.querySelector("button"); btn.addEventListener('click', function(){ console.log(123); btn.outerHTML = btn.outerHTML; });
האירוע יקרה רק פעם ראשונה, זה שיטה לסלק מאזינים של אלמנט להשים את הouterHTML שלו בעצמו.