@zvizvi יפה!
כעת אני רואה שיש רשימה שלמה של קיצורים
https://developer.chrome.com/docs/devtools/console/utilities
רק שבסקריפטים זה לא יעבוד.. רק בקונסול

צדיק תמים
-
חלק מהפונקציות של jQuery לא פועלות - באתרים שהספריה מותקנת בהם -
חלק מהפונקציות של jQuery לא פועלות - באתרים שהספריה מותקנת בהם@zvizvi אמר בחלק מהפונקציות של jQuery לא פועלות - באתרים שהספריה מותקנת בהם:
$('#main').remove()
היא פקודה שעובדת גם ללא jQuery.מכח מה?
-
שגיאה באסינכרוניות (async-await)@dovid אמר בשגיאה באסינכרוניות (async-await):
או להשתמש בPromise.all שתודיע לך על סיום של כולם.
הסתכלתי עכשיו על הPromise.all כאן ואני רואה שצריך להעביר לזה מערך של ההבטחות.
איך אני מעביר? הרי הסקופ של הלולאה (שבתוכה ההבטחה עצמה) מתפוגג בכל ריצה, והסקופ של הפונקציה גם כן לא גלוי כלפי חוץ... -
שגיאה באסינכרוניות (async-await)@dovid ולמה זה לא עובד עם map?
-
חלק מהפונקציות של jQuery לא פועלות - באתרים שהספריה מותקנת בהם@dovid זה מה שטענתי אצלי:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
-
שגיאה באסינכרוניות (async-await)@dovid אמר בשגיאה באסינכרוניות (async-await):
בשביל לגשת לערכים אתה צריך לעשות await על כל אחת מהתוצאות
כלומר? הרי בשורה 9 אני ממתין לAPI, ובשורה 10 אני ממתין לתשובה המלאה מהשרת...
-
שגיאה באסינכרוניות (async-await)@חוקר משום מה השמטת אותו בקוד שהבאת כאן... אני הבאתי אותו בקוד בפוסט הראשון (שורה 2)
-
שגיאה באסינכרוניות (async-await)@חוקר ניסיתי גם את זה, אבל בצורה כזאת זה לא מספק את הנתונים... ניסית להריץ את הקוד שהבאת?
-
שגיאה באסינכרוניות (async-await)מדובר בקוד שאמור לתשאל את הAPI של קול חי מיוזיק, ולקבל נתונים על רשימת שידורים חיים נבחרים (אפשר גם לקבל בבת אחת את המידע על כולם, אבל אני העדפתי ככה מסיבות שונות).
// מערך של מספרי שידורים נבחרים let listLive = [35, 2, 3, 5, 37, 7, 16, 15, 23, 8, 27]; /** * קבלת מידע בפועל מהAPI * @returns מערך של נתוני הערוצים הנבחרים */ async function getLiveData() { let arrayLiveInfo = listLive.map(function (indexLive) { let resData = await fetch(`https://kcm.fm/Home/LiveJ/${indexLive}`); let jsonData = await resData.json(); return jsonData; }); return arrayLiveInfo; } console.log(getLiveData());
משום מה זה מחזיר שגיאה:
ואני לא מבין למה, הרי בשורה 7 הצהרתי על הפונקציה כאסינכרונית... -
Leonardo של outbrain או כל כלי דומה - בגרסה תואמת צד לקוח נקי. קיים?מתוך הנספח בספר של רן בר-זיק:
[...] כדי להריץ את בדיקות ה- UI צריכים סביבה סגורה שלא תלויה בשרתים (או לפחות לא
בשרתים אמיתיים), אז בנינו כלי בשם "לאונרדו" שיודע לזהות בקשות לשרת, להשתלט עליהן
ולדמות תשובה שאנחנו מגדירים מראש.
כך למשל אפשר לראות איך האפליקציה מתמודדת עם תשובות ריקות, עם שגיאות שמגיעות
מהשרת ועם מצבים שבהם השרת לא מגיב. כמו כן אפשר לבדוק מצבים שבהם התגובה
מהשרת איטית.
בדיקות מהסוג הזה הן מהירות, יציבות ויעילות משום שיש להן את היכולת לבדוק כל תרחיש
שרוצים ללא תלות במערכות אחרות.
הכלי לאונרדו הוא כלי source open וזמין לכולם בגיטהאב תחת הכתובת:
https://github.com/outbrain/Leonardoאלא שנראה שהכלי הזה מיועד דווקא לפוריקטים של צד שרת.
אני כתבתי סקריפט גדול בצד לקוח בלבד, שמוזרק דרך קונסול/Tampermonkey, ומתקשר מול APIים שונים, והייתי שמח בכזה כלי שיאפשר לי לבדוק בקלות מצבים שהAPIים מחזירים שגיאות שונות (למשל 404,403 וכן הלאה, כולל טקסט השגיאה).
האם קיים כזה כלי כתוכנה רגילה וכדומה שמאפשר לבדוק את זה גם מצד הלקוח ללא שינוי בצד השרת (שכאמור לא קיים כאן)?
תודה מראש. -
חלק מהפונקציות של jQuery לא פועלות - באתרים שהספריה מותקנת בהםהתופעה קורת גם אצלי בטעינת jquery.min.js לדף HTML, וגם באתרים שהספריה כבר מותקנת בהם, לדוגמה www.w3schools.com.
חלק מהפונקציות של jQuery, לדוגמה remove, עובדות, אבל כשאני משתמש באותו סלקטור תקין, ומחיל עליו לדוגמה את הפונקציה empty או css, מתקבלת שגיאה...
לדוגמה הקוד הבא:$('#main').css('display', 'none');
באתר www.w3schools.com מחזיר שגיאה:
ואילו באתר אינטרנט ישראל עובד חלק.
לעומת זאת$('#main').remove()
עובד חלק בשניהם.
אותה בעיה יש לי גם באתר שלי שטענתי אליו ידנית את jQuery מה-CDN. -
(js) RTL לסקריפט plotly@הפצת-אנקי אולי צריך להשתמש בinherit? או שזה לא קשור..
בכל מקרה כדי שאוכל לנסות לבדוק, תצטרך להסביר לי איך מריצים את זה.. זה נראה פייתון
-
איזה ספרייה/פריימוורק (מה זה בכלל, בעצם?...) מומלץ ללמוד כיום?@davidnead אמר באיזה ספרייה/פריימוורק (מה זה בכלל, בעצם?...) מומלץ ללמוד כיום?:
הדרך הכי טובה להבין את הצורך בו זה להשתפשף היטב בלעדיו ולחוות את כל כאבי הראש הכרוכים בכך. רק כך מבינים באמת את התועלת ויודעים לנצל את השימוש.
לגבי שכך מבינים באמת את התועלת - אני מבין (אם כי לא מבין מה העניין בזה, מעבר לתחושה הטובה
), אבל למה זה עוזר לדעת לנצל את השימוש בפריימוורק, שעובד בצורה שונה למדיי?
-
(js) RTL לסקריפט plotly@הפצת-אנקי השאלה מה יעזור שאני יתקין את זה? נניח שאני יתקין ויראה שאכן יש בעיה? מה גם שאני בור לחלוטין בפייתון
אולי תכתוב מה שינית בjs, ומה רע לך בהוספת"dir="rtl
לbody
וזהו? -
עזרה בשרשור פרומיסים (fetch) / גם שימוש בjson שמתקבל מהכתובת וגם קבלת הכתובת עצמה@dovid מה העניין לפצל את אותה בעיה ל2 נושאים נפרדים?
אני מדבר על ההודעה שציטטת -
גילוי מוקדם של שגיאות סינטקסט ב-VSCפתאום זה חזר מעצמו...
אולי יצא להפסקת צהריים?
נקווה שישאר כך
ואם מישהו מכיר הרחבה שעושה את זה אבל בצורה יותר מקצועית (ההרחבה הזאת למשל לא מזהה משתנה שלא הוגדר, אם קוראים לו בתוך פונקציה..), אשמח מאוד להמלצה!
-
גילוי מוקדם של שגיאות סינטקסט ב-VSCשגיאות סינטקסט הן השגיאות השנואות עליי ביותר, שכן הן מגיעות רק בגלל טעות אנוש קטנה של החסרת תו כלשהו, ולא בגלל טעות אמיתית...
לדוגמה משתנה ששיניתי את שמו ושכחתי לשנות אותו בכל האזכורים... אז בעוד על משתנה שמוגדר ולא בשימוש הVSC מתריע על ידי הפיכתו ל"אפרורי", על מקרה הפוך - שימוש במשתנה שלא הוגדר, הוא לא מתריע...
ואני מגלה את השגיאה כשאני מנסה להריץ את הקוד בקונסול.
תמיד חלמתי שהשגיאה תופיע לי באופן מיידי (וכמובן תיעלם ברגע שאתקן אותה), ובצורה ברורה - לא קוקו אדום שצריך לעמוד עליו, אלא ישר השגיאה עצמה...
היום נתקלתי בהרחבה JavaScript REPL שעשתה בדיוק את זה!
אמנם היא הוסיפה גם קטע משונה של הדפסת מספר הריצות של כל קטע... שאמור להיות רק ללולאות... אבל היא גם הוסיפה לי בדיוק את מה שחיפשתי!
(התמונה לקוחה מתוך עמוד ההרחבה, כמובן שהטקסט האדום לא באמת מוכנס לקוד...)
אלא שכנראה שיחקתי באיזה כפתור, ופתאום זה נעלם..
ניסיתי להתקין את ההרחבה מחדש, להשבית ולהפעיל, וללא הועיל...
הבו עיצה איך להחזיר את הקסם הזה לVSC! -
ביצוע פעולה על מערך ששמו מגיע מהארגומנט (של הפונקציה)@dovid לא דיברתי על האזכור של
eval
כן או לא, אלא על התמצות/קצרנות - @yossiz הביא 2 דרכים לפתור את הבעיה שהעיליתי, והזכיר בדרך אגב אתeval
בדרך השלילה (שעל זה אפשר לדון האם זה נכון או לא, נראה לי שכן כי אני הרי הכרתי אתeval
, רק עוד לא חשבתי על השימוש בו בהקשר זה...), ואני ניצלתי זאת כדי לוודא באמת את מידת השלילה של השימוש בזה (באופן כללי).
לעומת זאת התשובה הזו שלך אמנם השמיטה את הeval
, אך על הדרך גם את שאר הפירוט... וקצת חבל
ואני הבנתי שעל זה כיוונת (שאין עניין להרחיב בשתי הדרכים האחרות), ועל זה היתה תגובתי... -
ביצוע פעולה על מערך ששמו מגיע מהארגומנט (של הפונקציה)@dovid אני דווקא בעד...
ואסביר: כשאני כותב פה שאלה (כמעט תמיד) זה לא רק בשביל לדעת איך אני עכשיו מעיף את הבעיה הזאת וממשיך כבר לשורה הבאה של הקוד. כמובן אני כותב כאן כי נתקעתי בזה, ואני רוצה להתקדם, אבל לקבל "קביים" חד-פעמיים זה קצת חבל...
ולכן תשובה טובה בשבילי זה תשובה שמכילה קודם כל את הפתרון הבסיסי (יותר בקצרה) - כי בכל זאת, לפעמים יש שטח שקשה ללכת וצריך קביים, אבל גם חלק יותר מעמיק ומפורט - להרחבת הידע בנושא הספציפי... כדי שפעם הבאה שאתקל בבבעיה כזו בוואריאציה מעט שונה, אבין להקביל בין המקרים...
לדעתי @yossiz עשה את זה באופן מעולה ומושלם למדיי. -
ביצוע פעולה על מערך ששמו מגיע מהארגומנט (של הפונקציה)@yossiz המתרגם של הכרום לא אוהב את הדף שהבאת משום מה... הוא לא ממש מתרגם אותו, ואם אני מפעיל את הסימניה שמתקנת את הRTL הוא בכלל מתרגז ומבטל את כל התרגום שכבר היה...