1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:04,810 [השמעת מוסיקה] 3 00:00:04,810 --> 00:00:06,940 >> דאג LLOYD: אז עוד אחד סוג של רעיון ש 4 00:00:06,940 --> 00:00:12,120 סוג של נופל תחת המטרייה של JavaScript היא משהו שנקרא AJAX. 5 00:00:12,120 --> 00:00:15,310 עד לנקודה זו, שלנו אינטראקציה עם JavaScript 6 00:00:15,310 --> 00:00:17,727 היה מוגבל לדחוף כפתור ומשהו קורה. 7 00:00:17,727 --> 00:00:19,560 ובאופן ספציפי, משהו שקורה 8 00:00:19,560 --> 00:00:22,950 הוא אתרי האינטרנט שלנו להיראות ולהרגיש שינויים. 9 00:00:22,950 --> 00:00:23,450 יָמִינָה? 10 00:00:23,450 --> 00:00:26,540 כמו בפרט, ב וידאו מודל אובייקט מסמך, 11 00:00:26,540 --> 00:00:29,060 שיניתי את צבע הרקע. 12 00:00:29,060 --> 00:00:33,240 אבל כאשר אני עשיתי את זה, לא היה לי לעשות כל בקשות מיוחדות נוספות. 13 00:00:33,240 --> 00:00:36,800 אני לא צריך לבקש ש השרת לשלוח לי דף חדש. 14 00:00:36,800 --> 00:00:39,620 אני רק שיניתי את מה שכבר היה לי. 15 00:00:39,620 --> 00:00:42,245 אני לא צריך לטעון מחדש את הדף שלי, ודברים בהחלט השתנו, 16 00:00:42,245 --> 00:00:43,760 אז זה נהדר. 17 00:00:43,760 --> 00:00:48,400 אבל יש בהחלט כמה אינטראקציה הוראות שימוש מעורבת. 18 00:00:48,400 --> 00:00:53,140 AJAX הוא טכניקה המאפשרת מגניב שלנו לעדכן את התוכן של דף, 19 00:00:53,140 --> 00:00:55,750 ולא רק את המראה ו מרגיש, מבלי לטעון מחדש. 20 00:00:55,750 --> 00:00:58,610 >> ובמיוחד על ידי כש אומר עדכון התוכן של דף, 21 00:00:58,610 --> 00:01:01,990 אני לא אומר שאנחנו לשכתב הדף באמצעות JavaScript. 22 00:01:01,990 --> 00:01:06,560 אני אומר שאנחנו באמת לבקש מידע נוסף מהשרת 23 00:01:06,560 --> 00:01:08,640 ללא בדף שלנו יש כדי לטעון מחדש. 24 00:01:08,640 --> 00:01:10,850 >> עכשיו זה סוג של קצת טכניקה מתקדמת יותר 25 00:01:10,850 --> 00:01:11,950 שאנחנו הולכים לדבר על בסרט הזה. 26 00:01:11,950 --> 00:01:13,720 אנחנו הולכים לקבל קצת אינטראקציה. 27 00:01:13,720 --> 00:01:17,750 אבל כאשר אנחנו עושים, אני הולך להיות מה שהופך את הבקשות לשרת האינטרנט. 28 00:01:17,750 --> 00:01:21,140 במקרה זה, רק מה מפעיל את שרת האינטרנט Apache שלי. 29 00:01:21,140 --> 00:01:25,010 אני הולך להיות ביצוע נוסף בקשות בזמן שאני מבקר בדף אינטרנט, 30 00:01:25,010 --> 00:01:26,890 אבל הדף שלי לא לרענן. 31 00:01:26,890 --> 00:01:30,000 >> זה רק הולך אסינכרוני לעדכן את הדף שלי. 32 00:01:30,000 --> 00:01:31,840 וזה, למעשה, שAJAX מייצג, 33 00:01:31,840 --> 00:01:35,400 הוא Asynchronous JavaScript ו- XML. 34 00:01:35,400 --> 00:01:37,910 XML הוא סוג אחר של סימון שפה, ואתה יכול למיין של 35 00:01:37,910 --> 00:01:39,680 חושב על זה בדיוק כמו HTML. 36 00:01:39,680 --> 00:01:42,990 זה לא בדיוק אותו הדבר, אבל זה בעצם רק שפת סימון. 37 00:01:42,990 --> 00:01:47,770 אז זה אסינכרוני JavaScript ושפת סימון. 38 00:01:47,770 --> 00:01:50,590 >> אז כדי להשתמש בזה AJAX technique-- AJAX 39 00:01:50,590 --> 00:01:52,230 אינה שפת תכנות נפרדת. 40 00:01:52,230 --> 00:01:55,300 זה פשוט סוג של קבוצה שלנו techniques-- 41 00:01:55,300 --> 00:01:57,870 צריך ליצור מיוחד אובייקט JavaScript, ש 42 00:01:57,870 --> 00:02:00,689 נקרא XMLHttpRequest. 43 00:02:00,689 --> 00:02:01,980 עכשיו, זה קל מאוד לעשות את זה. 44 00:02:01,980 --> 00:02:04,550 אנחנו רק אומרים var, מה ש אנחנו רוצים לקרוא לאובייקט זה, 45 00:02:04,550 --> 00:02:07,030 שווה XMLHttpRequest החדש. 46 00:02:07,030 --> 00:02:11,050 ועכשיו יש לנו עכשיו שהושגו סוג AJAX של אובייקט, 47 00:02:11,050 --> 00:02:14,370 או XMLHttpRequest אובייקט, אשר יאפשר 48 00:02:14,370 --> 00:02:18,360 שלנו לעדכן אסינכרוני בדף שלנו. 49 00:02:18,360 --> 00:02:23,100 >> אחרי שקבלנו את זה חדש אובייקט, XMLHttpRequest זה, 50 00:02:23,100 --> 00:02:27,760 אנחנו צריכים לעשות משהו כדי התנהגות onreadystatechange. 51 00:02:27,760 --> 00:02:30,360 Onreadystatechange התנהגות היא באמת רק 52 00:02:30,360 --> 00:02:34,080 כשאתה עושה בקשה לדף אינטרנט, הדף 53 00:02:34,080 --> 00:02:35,880 עובר מספר השלבים. 54 00:02:35,880 --> 00:02:37,370 ראשית, בקשה לא נשלחה. 55 00:02:37,370 --> 00:02:39,860 לאחר מכן, לבקשה הייתה נשלח, אך לא פעל על. 56 00:02:39,860 --> 00:02:41,580 אז הבקשה כבר פעלה על. 57 00:02:41,580 --> 00:02:43,680 אז הבקשה היא נשלח בחזרה אליך. 58 00:02:43,680 --> 00:02:46,930 >> לאחר מכן, לבקשה היא נטען במלואו בדף שלך. 59 00:02:46,930 --> 00:02:48,640 אלה הם מדינות שונות. 60 00:02:48,640 --> 00:02:53,890 ולכן אנחנו צריכים להגדירנו אובייקט XMLHttpRequest חדש 61 00:02:53,890 --> 00:02:58,740 לשנות כאשר שינויי המצב מוכנים. 62 00:02:58,740 --> 00:03:01,925 ובדרך כלל, אנחנו עושים את זה על ידי הגדרת פונקציה אנונימית, ש 63 00:03:01,925 --> 00:03:04,490 אנחנו מכירים מ JavaScript עכשיו, ש 64 00:03:04,490 --> 00:03:09,840 נקרא כאשר שינויי המצב מוכנים. 65 00:03:09,840 --> 00:03:11,340 זה באמת לא הרבה יותר מזה. 66 00:03:11,340 --> 00:03:14,340 אנחנו רק הולכים להיות הגדרה פונקציה אנונימית, סוג של אוהב את מה ש 67 00:03:14,340 --> 00:03:16,440 אנחנו עושים ב JavaScript, שבו אנחנו הייתם 68 00:03:16,440 --> 00:03:18,750 יש פונקציה אנונימית להגיב בלחיצה, 69 00:03:18,750 --> 00:03:23,230 או כאשר היו אנחנו עושים מפה של החפצים השונים במערך. 70 00:03:23,230 --> 00:03:25,220 >> משהו קרה כש משהו לוחץ. 71 00:03:25,220 --> 00:03:28,810 במקרה זה, זה פשוט משהו שהוא קורה כאשר המדינה של הדף שלנו 72 00:03:28,810 --> 00:03:30,160 שינויים. 73 00:03:30,160 --> 00:03:32,730 ישנם שני מאפיינים אחרים הסוג של-- הם לא 74 00:03:32,730 --> 00:03:35,524 רק הנכסים ש טבוע XMLHttpRequest, 75 00:03:35,524 --> 00:03:36,940 אבל הם די חשובים אלה. 76 00:03:36,940 --> 00:03:39,815 יש משהו שנקרא readyState, שכפי שאתה בוודאי יכול לנחש, 77 00:03:39,815 --> 00:03:41,750 הוא קשור לonreadystatechange. 78 00:03:41,750 --> 00:03:44,250 זה בעצם אומר לך מה הוא readyState. 79 00:03:44,250 --> 00:03:46,289 0, 1, 2, 3, ו -4 הם האפשרויות שיש, 80 00:03:46,289 --> 00:03:48,080 והם סוג של בערך מתאים למה ש 81 00:03:48,080 --> 00:03:50,030 אני רק מדבר על לפני שנייה. 82 00:03:50,030 --> 00:03:53,100 >> ולאחר מכן מעמד, ש אני מקווה אם הכל הלך בסדר, 83 00:03:53,100 --> 00:03:56,710 200, שהוא קצר ל, כמובן, אישור, 84 00:03:56,710 --> 00:03:58,330 שאנחנו מכירים מHTTP. 85 00:03:58,330 --> 00:04:03,735 אז אנחנו מקווים שהמדינה מוכנה שלנו הוא ארבעה, והמעמד שלנו הוא 200. 86 00:04:03,735 --> 00:04:07,940 ואם המדינה מוכנה שלנו הוא ארבעה, והתגובה 87 00:04:07,940 --> 00:04:11,490 הוא מוכן לשים על דף, והמצב הוא 200, 88 00:04:11,490 --> 00:04:13,580 היינו יכול לעשות הכל בהצלחה, 89 00:04:13,580 --> 00:04:17,209 עכשיו אנחנו יכולים אסינכרוני לעדכן את הדף שלנו 90 00:04:17,209 --> 00:04:21,730 מבלי לטעון מחדש כל התוכן שלו. 91 00:04:21,730 --> 00:04:27,710 >> אחרי שהגדרנו את מה שקורה לonreadystatechange ההתנהגות, 92 00:04:27,710 --> 00:04:31,020 ואנחנו כבר בדקנו שreadyState הוא 4 ומעמד הוא 200, 93 00:04:31,020 --> 00:04:33,900 אז כל מה שאנחנו צריכים לעשות הוא לפתוח את אסינכרוני 94 00:04:33,900 --> 00:04:38,530 בקשה, שרק עושה Http בדרך כלל מקבל בקשה. 95 00:04:38,530 --> 00:04:41,950 פשוט עושה את זה תכנותי, במקום באמצעות דפדפן האינטרנט שלנו. 96 00:04:41,950 --> 00:04:43,786 ולאחר מכן אנו שולחים בקשה ש. 97 00:04:43,786 --> 00:04:45,660 אז מה עושה את זה אולי נראה כמו בהקשר? 98 00:04:45,660 --> 00:04:49,790 אז הנה פונקציה ש עוסק בבקשות AJAX. 99 00:04:49,790 --> 00:04:50,290 אוקיי? 100 00:04:50,290 --> 00:04:52,430 ואני כבר אמרתי באופן שרירותי היא מקבלת את הטענה. 101 00:04:52,430 --> 00:04:55,550 וזה סוג של שלד כללי כאן. 102 00:04:55,550 --> 00:05:00,890 בהתחלה מאוד, אנחנו מקבלים את עצמנו אובייקט XMLHttpRequest חדש. 103 00:05:00,890 --> 00:05:03,830 אז, אני צריך להגדיר את התנהגות onreadystatechange. 104 00:05:03,830 --> 00:05:06,970 ואז אני הולך להגיד כאשר שינויי readyState, 105 00:05:06,970 --> 00:05:10,110 אני רוצה שתקרא בפונקציה זו. 106 00:05:10,110 --> 00:05:12,570 >> שהוא הולך לשאול שאלה, אם readyState 107 00:05:12,570 --> 00:05:17,240 הוא 4, אם readyState השתנה להיות 4, והמצב היה 200, 108 00:05:17,240 --> 00:05:20,799 כך שהיו לנו בקשה מוצלחת, אני רוצה לעשות משהו לדף. 109 00:05:20,799 --> 00:05:22,590 ואנחנו נסתכל בדוגמא של מה ש 110 00:05:22,590 --> 00:05:25,010 משהו שעשוי להיות בשני. 111 00:05:25,010 --> 00:05:27,830 אז, עכשיו יש לי מוגדר הפונקציה אנונימית שלי, 112 00:05:27,830 --> 00:05:31,340 פונקצית התגובה שלי בכל פעם ש שינויי readyState. 113 00:05:31,340 --> 00:05:37,120 >> אז אני רק צריך לפתוח את לבקש, תוך שימוש בשיטה הפתוחה. 114 00:05:37,120 --> 00:05:39,160 ואז, אני שולח בקשה ש. 115 00:05:39,160 --> 00:05:41,980 ובואו נסתכל דוגמא קונקרטית יותר 116 00:05:41,980 --> 00:05:46,290 של מה AJAX יכול לעשות בדפי האינטרנט שלנו. 117 00:05:46,290 --> 00:05:49,740 אז יש לי כאן מאוד פשוט דף נקרא home.html. 118 00:05:49,740 --> 00:05:53,620 ויש לי מידע הולך כאן ואיזה תפריט הנפתח. 119 00:05:53,620 --> 00:05:55,390 >> ואנחנו לבקר זה בשנייה אחת. 120 00:05:55,390 --> 00:05:59,150 אבל אני חושב שאנחנו צריכים עכשיו לקחת מסתכל על קוד המקור הממשי. 121 00:05:59,150 --> 00:06:01,080 וכך, אני הולך לפתוח את home.html. 122 00:06:01,080 --> 00:06:03,490 123 00:06:03,490 --> 00:06:04,740 ונראה מה קורה. 124 00:06:04,740 --> 00:06:08,240 אז עד בחלקו העליון כאן, יש לי כמה דברים שJavaScript קורה. 125 00:06:08,240 --> 00:06:12,470 >> וכאן, יש לי כנראה div id infodiv, 126 00:06:12,470 --> 00:06:15,290 וקצת מידע הולך ללכת לשם. 127 00:06:15,290 --> 00:06:16,374 ואז יש לי טופס זה. 128 00:06:16,374 --> 00:06:18,081 ובתוך זה טופס, יש לי משהו 129 00:06:18,081 --> 00:06:20,200 נקרא בחר, ש רק תפריט נפתחת 130 00:06:20,200 --> 00:06:22,150 עם חבורה של אפשרויות שונות. 131 00:06:22,150 --> 00:06:26,150 וככל הנראה, כאשר שמשנה, כש יש האפשרות שנבחרה 132 00:06:26,150 --> 00:06:30,600 השתנה, אני הולך לקרוא כמה פונקציה cs50Info, 133 00:06:30,600 --> 00:06:33,190 ואז אני הולך ל לעבור בthis.value, 134 00:06:33,190 --> 00:06:35,740 שם זה מתייחס ל איזו אפשרות נבחר, 135 00:06:35,740 --> 00:06:39,820 וערך הוא אחד מאלה כאן, אפשרות ערך = שווה ריק, "בלומברג", 136 00:06:39,820 --> 00:06:42,610 "באודן," "צ'אן," ו" מלאן. " 137 00:06:42,610 --> 00:06:45,090 >> אז מה בעצם אולי יקרה כאן כשאני עושה את זה? 138 00:06:45,090 --> 00:06:48,800 ובכן, בואו ניקח להסתכל blumberg.html. 139 00:06:48,800 --> 00:06:51,330 140 00:06:51,330 --> 00:06:53,924 נראה כאילו זה רק קטע של כמה Html. 141 00:06:53,924 --> 00:06:56,090 ולמעשה, מה שאני מקווה הולך לקרות כאן 142 00:06:56,090 --> 00:07:00,020 הוא אני הולך להיות מסוגל לחבר Html זה ישירות לתוך דף האינטרנט שלי 143 00:07:00,020 --> 00:07:02,970 מבלי לטעון מחדש הדף, כך שכש 144 00:07:02,970 --> 00:07:07,510 אני בוחר חנה מהנפתחת תפריט, מידע על חנה, 145 00:07:07,510 --> 00:07:11,100 במידע מסוים, זה כאן בblumberg.html, 146 00:07:11,100 --> 00:07:12,574 זה מה שמופיע בדף. 147 00:07:12,574 --> 00:07:13,740 ואני לא צריך לרענן. 148 00:07:13,740 --> 00:07:16,842 ואם בחרתי מישהו אחר, המידע שלהם היה מופיע. 149 00:07:16,842 --> 00:07:17,550 איך אני עושה את זה? 150 00:07:17,550 --> 00:07:20,290 שוב, זה דורש שלנו להשתמש בחלק AJAX. 151 00:07:20,290 --> 00:07:22,540 וכך, אנו פותחים את ajax.js. 152 00:07:22,540 --> 00:07:25,550 וכאן הוא פונקציה ש, cs50Info. 153 00:07:25,550 --> 00:07:27,410 אם שם שום דבר, אני חוזר. 154 00:07:27,410 --> 00:07:31,450 אני לא הולך לעשות שום דבר אם האפשרות הריקה נבחרה. 155 00:07:31,450 --> 00:07:35,420 אחרת, אני הולך ליצור XMLHttpRequest חדש. 156 00:07:35,420 --> 00:07:39,020 ואז אני הולך להגיד, כאשר שינויי readyState, לקרוא לפונקציה זו. 157 00:07:39,020 --> 00:07:43,630 >> ואם readyState הוא 4 והמעמד הוא 200, 158 00:07:43,630 --> 00:07:45,740 הנה קצת של jQuery על קו 13. 159 00:07:45,740 --> 00:07:50,450 אבל כל מה שאני עושה הוא אומר, לשנות את התוכן של infodiv 160 00:07:50,450 --> 00:07:57,820 להיות כל מה שיש לי גב כ תגובה מHttpRequest. 161 00:07:57,820 --> 00:07:59,590 >> מה הוא HttpRequest שלי? 162 00:07:59,590 --> 00:08:02,020 ובכן, זה נכון כאן בקו 18 ו -19. 163 00:08:02,020 --> 00:08:08,550 קו 18, אני בעצם מכין GET בקשה לשם + .html. 164 00:08:08,550 --> 00:08:11,170 ושוב, שם כאן הוא את הטענה כי הייתה 165 00:08:11,170 --> 00:08:14,280 עבר כבפרמטר לcs50Info. 166 00:08:14,280 --> 00:08:18,460 >> אז בעצם, אני עובר במישהו של שם, שהייתה קבוצה של אפשרויות 167 00:08:18,460 --> 00:08:22,980 שראינו ב תפריט הנפתח בצורה. 168 00:08:22,980 --> 00:08:24,450 אני מקבל את השם הזה. 169 00:08:24,450 --> 00:08:29,530 ואני אומר שאני רוצה אותך נא להשיג עבורי file.html ש, 170 00:08:29,530 --> 00:08:31,020 ולאחר מכן לשלוח את הבקשה ש. 171 00:08:31,020 --> 00:08:34,820 >> וכך onreadystatechange כי הוא הולך להיות הקשבה ומחכה ומחכה 172 00:08:34,820 --> 00:08:39,460 ומחכה, עד readyState הוא 4, והמצב הוא 200. 173 00:08:39,460 --> 00:08:44,970 אז הוא מוכן להיות מוגש, והבקשה הייתה מוצלחת. 174 00:08:44,970 --> 00:08:49,500 ואז אם זה, זה הולך לשנות את התוכן של infodiv 175 00:08:49,500 --> 00:08:53,030 להיות טקסט התגובה שחזרתי. 176 00:08:53,030 --> 00:08:54,930 >> אז בואו לראות איך זה אולי באמת עובד. 177 00:08:54,930 --> 00:08:58,860 אז ניסע מעל לדפדפן שלי חלון, ואנחנו נראים כאן. 178 00:08:58,860 --> 00:09:01,359 אז בואו נסתכל מה קורה כאן בAJAX. 179 00:09:01,359 --> 00:09:03,400 אז אנחנו תבחרו מישהו מהתפריט הנפתח. 180 00:09:03,400 --> 00:09:06,079 אז במקרה הזה, בואו רק לבחור חנה. 181 00:09:06,079 --> 00:09:08,120 והודעה שחנה של מידע השתנה, 182 00:09:08,120 --> 00:09:11,030 אבל לא היו לי any-- הדף לא טען מחדש לחלוטין. 183 00:09:11,030 --> 00:09:12,190 הדברים נשארו. 184 00:09:12,190 --> 00:09:13,320 רוב הדברים נשארו. 185 00:09:13,320 --> 00:09:14,320 מבחן AJAX לא השתנה. 186 00:09:14,320 --> 00:09:16,700 הכפתור עצמו, זה תפריט הנפתח לא שינה. 187 00:09:16,700 --> 00:09:18,260 אבל מידע שיש עשה שינוי. 188 00:09:18,260 --> 00:09:20,218 ותלוי איך מהירות מהלכי המחשב שלי, 189 00:09:20,218 --> 00:09:24,430 אתה באמת יכול לראות שהתוכן נעלם ולאחר מכן מופיע שוב באמת 190 00:09:24,430 --> 00:09:24,930 בִּמְהִירוּת. 191 00:09:24,930 --> 00:09:27,320 זה להיות התוכן נמחק מinfodiv, 192 00:09:27,320 --> 00:09:29,940 והוחלף לאחר מכן ב בקשת אסינכרוני חדשה. 193 00:09:29,940 --> 00:09:34,410 >> אז אם אני עובר את זה כדי להיות לומר, Rob-- ושוב, תסתכל, 194 00:09:34,410 --> 00:09:38,379 ואולי יראו את זה בפועל להיעלם ולהופיע שוב במהירות. 195 00:09:38,379 --> 00:09:38,920 אתה רואה את זה? 196 00:09:38,920 --> 00:09:41,400 איך זה בדיוק צץ משם, ואז זה ממולא מחדש? 197 00:09:41,400 --> 00:09:43,640 זה בקשת AJAX סוג של המתרחש. 198 00:09:43,640 --> 00:09:46,060 וכך, בהתאם ל אדם שאני בוחר, אני 199 00:09:46,060 --> 00:09:50,690 מה שהופך את אסינכרוני שונה בקשה לקובץ אחר 200 00:09:50,690 --> 00:09:52,730 שיש לי בשרת שלי. 201 00:09:52,730 --> 00:09:55,550 ואת התוכן שלי infodiv מעדכן, 202 00:09:55,550 --> 00:09:58,457 אשר מבוסס על אלה שבחרתי. 203 00:09:58,457 --> 00:10:00,040 אז זה באמת כל מה שיש לAJAX. 204 00:10:00,040 --> 00:10:04,090 זה מאפשר לנו לעשות אסינכרוני אלה בקשות, עדכונים לדף. 205 00:10:04,090 --> 00:10:06,450 מבלי לרענן את הדף כולו, 206 00:10:06,450 --> 00:10:08,520 אנחנו הולכים לקבל חדשים תוכן ממנו על ידי הפיכת 207 00:10:08,520 --> 00:10:11,170 בקשה טרי חדשה לשרת. 208 00:10:11,170 --> 00:10:13,420 וכך, הדפים שלנו יכולים להיות לא מעט דינמי יותר. 209 00:10:13,420 --> 00:10:15,128 >> וכפי שאנו מקבלים יותר ויותר מתקדם, אתה 210 00:10:15,128 --> 00:10:17,700 עשוי לקבל דברים כמו למשל, תיבת הדואר הנכנס שלך, 211 00:10:17,700 --> 00:10:19,850 שבו אתה לא צריך לעשות שום דבר. 212 00:10:19,850 --> 00:10:22,560 אתה לא צריך ללחוץ תפריט נפתחים או לחץ שום דבר, 213 00:10:22,560 --> 00:10:25,920 ופתאום, החדש שלך דואר אלקטרוני מופיע בחלק העליון. 214 00:10:25,920 --> 00:10:27,840 זה גם רק בקשת Ajax. 215 00:10:27,840 --> 00:10:30,460 אייאקס מבקש שרת, שרת הדואר האלקטרוני, 216 00:10:30,460 --> 00:10:33,360 לשלוח מעל כל המידע על המיילים האחרונים שלך, 217 00:10:33,360 --> 00:10:38,110 ולשנות את מה שאתה רואה ב מסך לסט החדש שלך של דואר אלקטרוני. 218 00:10:38,110 --> 00:10:41,080 ואם יש לך אחד חדש ב שם, אז התוכן של div ש 219 00:10:41,080 --> 00:10:44,580 ישתנה כדי לשקף התוכן המעודכן. 220 00:10:44,580 --> 00:10:45,480 אני דאג לויד. 221 00:10:45,480 --> 00:10:47,500 זה CS50. 222 00:10:47,500 --> 00:10:49,229