JavaScript/שילוב במסמך HTML: הבדלים בין גרסאות בדף
תוכן שנמחק תוכן שנוסף
מאין תקציר עריכה |
מאין תקציר עריכה |
||
שורה 1:
על מנת לשלב Javascript בדף ה-HTML שלנו אנחנו צריכים להשתמש באלמנט script של HTML.
עקרון חשוב הוא הפרדת התנהגות מתוכן. כמו שמפרידים עיצוב מתוכן בעזרת אלמנט link שקורא ל-CSS, כך נוכל להשתמש באלמנט script על מנת לקרוא לקובץ Javascript, בלי שב-HTML שלנו תהיה שורת קוד Javascript אחת.
<script language="javascript" src="my_javascript_file.js"></script>
▲<pre style="direction:ltr; text-align:left;">
</script>
</pre>
חובה להשתמש באלמנט סוגר, למרות שאין לאלמנט תוכן.
ניתן, אך מאוד לא מומלץ, לשלב Javascript בתוך קובץ ה-HTML עצמו, אך אז אנו נתקלים במספר בעיות.
<pre style="direction:ltr;">
<script language="javascript">
...קוד javascript▼
--!>▼
▲...קוד javascript
<--▼
</script>
</pre>
דפדפנים ישנים, עלולים לא להכיר את האלמנט script ולכן עלינו להסתיר את תוכן הקוד בהערות HTML
<pre style="direction:ltr;">
<script language="javascript">
▲<!--
...קוד javascript
</script>
</pre
כאן לא תמו צרותינו. זוכרים שב-HTML אסור להשתמש במרכאות (") רגילות או כפולות, אלא להשתמש ביישויות בלבד? זה נכון גם כאן.
'''לא נכון'''
<pre style="direction:ltr;">
<script language="javascript">
<!--
alert("Message")
-->
</script>
</pre
'''נכון'''
<pre style="direction:ltr;">
<script language="javascript">
<!--
alert("Message")
-->
</script>
</pre
די מסורבל לא? זה בגלל שהתוכן של אלמנט script מוגדר כ-PCDATA (Parsed Content Data). ה-Parsed רוצה לומר שהוא מפרש את התוכן שבתוך ה-script קודם כל כ-HTML ורק אחר-כך כ-Javascript.
על מנת להימנע מזה, ניתן לומר לדפדפן שלא יפרש את התוכן כ-PCDATA אלא כ-CDATA. ב-CDATA מרכאות וסימני גדול קטן >< אינם מפוענחים כ-HTML.
'''נכון'''
<pre style="direction:ltr;">
<script language="javascript">
<!--
<![CDATA[
alert("Message")
>]]
-->
</script>
</pre
כעת ניתן לכתוב רגיל. די מסובך לא? עדיף לשים את הקוד בקובץ אחר ולהיפטר מכל הסיבוך הזה...
|