½Å ±¾ Ìá ¹© ×÷ Õß Ò» ¸ö À© Õ¹ HTML ÎÄ µµ »î Ô¾ ºÍ ½» »¥ µÄ ·½ ·¨. Àý Èç:
<!ELEMENT SCRIPT - - CDATA -- script statements --> <!ATTLIST SCRIPT type CDATA #IMPLIED -- Internet content type for script language -- language CDATA #IMPLIED -- predefined script language name -- src %URL #IMPLIED -- URL for an external script -- >¿ª ʼ ±ê ¼Ç: Ðè Òª, ½á Êø ±ê ¼Ç: Ðè Òª
½Å ±¾ ¿É ÒÔ ÔÚ SCRIPT Ôª ËØ ÖÐ »ò ´¦ ²¿ ÎÄ ¼þ ÖÐ ±» ¶¨ Òå. Èç ¹û src ÌØ ÐÔ Ã» ÓÐ ±» Éè ¶¨, Óà »§ ´ú Àí Æ÷ ±Ø Ðë °Ñ Ôª ËØ ÄÚ ÈÝ ×÷ Ϊ ½Å ±¾ À´ ½â Òë. Èç ¹û src ÓÐ Ò» ¸ö URL Öµ, Óà »§ ´ú Àí Æ÷ ±Ø Ðë ºö ÂÔ Ôª ËØ ÄÚ ²¿ ²¢ ÇÒ Í¨ ¹ý URL È¡ µÃ ½Å ±¾.
½Å ±¾ ±» ×÷ Ϊ ±Ø Ðë ±» Óà »§ ´ú Àí Æ÷ Öª µÀ µÄ ½Å ±¾ Òý Çæ À´ ¿¼ ÂÇ.
ÔÚ SCRIPT Ôª ËØ ÖÐ ¼´ ²» °ü º¬ ȱ Ê¡ ½Å ±¾ Óï ÑÔ Éù Ã÷ Ò² ²» °ü º¬ ±¾ µØ Éù Ã÷ µÄ ÎÄ µµ ÊÇ ²» Õý È· µÄ. Óà »§ ´ú Àí Æ÷ ¿É ÄÜ ÈÔ ¾É ½â Òë ²¢ ²» Ðè Òª µÄ ½Å ±¾.
<META http-equiv="Content-Script-Type" content="type">Õâ Àï µÄ "type" ÊÇ Ò» ¸ö Óà À´ Ãü Ãû ½Å ±¾ Óï ÑÔ µÄ »¥ Áª Íø ý Ìå ¸ñ ʽ (Internet Media Type, ²Î ¼û [MIMETYPES]). Õâ Щ Öµ µÄ Àý ×Ó ÊÇ "text/tcl", "text/javascript", "text/vbscript". ²Î ¼û [MIMETYPES] À´ »ñ µÃ Íê Õû µÄ ºÏ ·¨ ½Å ±¾ Óï ÑÔ ÁÐ ±í.
Èç ¹û û ÓÐ META Éù Ã÷, ȱ Ê¡ Öµ ¿É ͨ HTTP Òý µ¼ Í· µÄ "Content-Script-Type" À´ Éè ¶¨.
Content-Script-Type: type
µ± Êý ¸ö HTTP Òý µ¼ Í· ºÍ META Ôª ËØ ´æ ÔÚ Ê±, ×î ºó Ò» ¸ö ¶¨ Òå ÁË È± Ê¡ µÄ ½Å ±¾ Óï ÑÔ. ÓÉ ÓÚ ÎÒ ÃÇ µÄ Ä¿ µÄ, HTTP Òý µ¼ Í· ÔÚ ÎÄ µµ HEAD Ö® ǰ ³ö ÏÖ ±» ¿¼ ÂÇ.
<HTML> <HEAD> <META http-equiv="Content-Script-Type" content="text/tcl"> <SCRIPT type="text/vbscript" src="http://someplace.com/progs/vbcalc"> </SCRIPT> </HEAD> <BODY> <SCRIPT type="text/javascript"> ...some JavaScript... </SCRIPT> </BODY> </HTML>
È» ¶ø, ½Å ±¾ Ó¦ µ± ¸ù ¾Ý Æä ·Ö Åä µÄ Ãû ³Æ Ö¸ Ïò Ôª ËØ. ½Å ±¾ Òý Çæ Ó¦ µ± ÔÚ ±ê ʶ Ò» ¸ö Ôª ËØ ʱ ×ñ ÊØ Ï ÁÐ µÄ ÓÅ ÏÈ ·¨ Ôò: Èç ¹û Á½ ¸ö ¾ù ±» Éè Öà name ÌØ ÐÔ ±È id ¸ü ÓÐ ÓÅ ÏÈ È¨. ÎÞ ÂÛ Èç ºÎ Ò» ¸ö »ò Áí Ò» ¸ö ½« ±» ʹ ÓÃ.
HTML ÆÊ Îö Æ÷ ±Ø Ðë ¸ù ¾Ý ¿ª ʼ ±ê ¼Ç ºÍ ½á Êø ±ê ¼Ç Ò» ¿ª ʼ ʱ µÄ ºó ¸ú Ãû ³Æ ×Ö ·û ([a-zA-Z]) µÄ ETAGO ("</") ¶¨ ½ç ·û ¾Í ÄÜ ¹» ÈÏ ³ö ½Å ±¾ Êý ¾Ý. ½Å ±¾ Êý ¾Ý ²¢ ·Ç ±Ø Ðë Òª Óà </SCRIPT> ½á Êø ±ê ¼Ç À´ ÖÕ Ö¹, µ« Ëü ÖÕ Ö¹ ÓÚ ÈÎ ºÎ ºó ¸ú Ãû ³Æ ×Ö ·û µÄ "</" .
Òò ´Ë, ÈÎ ºÎ HTML ±ê ×¢ ±» ËÍ µ½ ½Å ±¾ Òý Çæ ʱ (ÎÞ ÂÛ ºÎ ʱ Ö»
Òª ÊÇ Ï£ Íû ±ê ×¢ ʱ) ±Ø Ðè "»» Âë(escape)" ÒÔ ´Ë ²» ʹ HTML ÆÊ
Îö Æ÷ ¸Ð µ½ »ì ÂÒ. ÿ ÖÖ ½Å ±¾ Óï ÑÔ µÄ Éè ¼Æ Õß Ó¦ µ± ÍÆ ¼ö Óï
ÑÔ ÌØ ÐÔ Ö§ ³Ö À´ ½â ¾ö Õâ ¸ö ÎÊ Ìâ.
ÏÂ Ãæ µÄ ´ú Âë ÊÇ ·Ç ·¨ µÄ, Òò Ϊ "</EM>" ³ö ÏÖ ÔÚ SCRIPT Ôª ËØ Àï Ãæ:
<SCRIPT type="text/javascript">
document.write ("<EM>This won't work</EM>")
</SCRIPT>
Ò» ¸ö Ò» Ö ÆÊ Îö ÐÔ ±Ø ¶¨ °Ñ "</EM>" Êý ¾Ý µ± ×÷ ½Å ±¾ Êý ¾Ý
µÄ ½á Êø, Õâ Ã÷ ÏÔ ²» ÊÇ ×÷ Õß µÄ Òâ ͼ.
ÔÚ JavaScript ÖÐ, Õâ ¸ö ´ú Âë ¿É ÒÔ Í¨ ¹ý È· ±£ ²» Èà ETAGO ¶¨ ½ç ·û ½ô Ìù ×Å SGML Ãû ³Æ ¿ª ʼ ×Ö ·û Ö® ǰ ³ö ÏÖ À´ ±í ´ï:
<SCRIPT type="text/javascript">
document.write ("<EM>This will work<\/EM>")
</SCRIPT>
ÔÚ Tcl ÖÐ, ¿É ÒÔ Èç Ï Íê ³É:
<SCRIPT type="text/tcl"> document write "<EM>This will work<\/EM>" </SCRIPT>ÔÚ VBScript, Õâ ¸ö ÎÊ Ìâ ¿É ÒÔ Í¨ ¹ý Chr() º¯ Êý À´ ±Ü Ãâ:
"<EM>This will work<\" & Chr(47) + "EM>"
¿Ø ¼þ Ôª ËØ Èç INPUT, SELECT, BUTTON, TEXTAREA ºÍ LABEL ¾ù Ïì Ó¦ ÓÚ Ò» ¶¨ µÄ ÄÚ ²¿ Ê ¼þ. µ± Õâ Щ Ôª ËØ û ÓÐ ³ö ÏÖ ÔÚ Ò» ¸ö ±í µ¥ ʱ, Ëü ÃÇ ¿É ÒÔ Óà À´ Ìá ¸ß ÎÄ µµ µÄ ͼ Ïñ Óà »§ ½Ó ¿Ú.
Àý Èç, Éè ¼Æ Õß ¿É ÄÜ Ï£ Íû ÔÚ Ëû ÃÇ µÄ ÎÄ µµ ÖÐ °ü º¬ Ò» ¸ö °´ Å¥ ²¢ ÇÒ °´ ¶¯ ºó ²» Ìá ½» ±í µ¥ ¶ø ÊÇ µ± Ëü ÃÇ ±» ¼¤ »î ʱ ¼Ì Ðø Óë ½Ú µã ͨ Ѷ.
ÏÂ Ãæ µÄ Àý ³Ì Õ¹ ʾ ÁË Ò» Щ ¿É ÄÜ µÄ ¿Ø ¼þ ºÍ »ù ÓÚ ÄÚ ²¿ Ê ¼þ µÄ Óà »§ ½Ó ¿Ú ÐРΪ.
<INPUT NAME="userName" onBlur="validUserName(this.value)">Õâ Àï ÊÇ Áí Ò» ¸ö JavaScript Àý ³Ì:
<INPUT NAME="num"
onChange="if (!checkNum(this.value, 1, 10))
{this.focus();this.select();} else {thanks()}"
VALUE="0">
<INPUT name="edit1" size="50"> <SCRIPT type="text/vbscript"> Sub edit1_changed() If edit1.value = "abc" Then button1.enabled = True Else button1.enabled = False End If End Sub </SCRIPT>Õâ ÊÇ Ê¹ Óà Tcl µÄ ͬ Ò» ¸ö Àý ³Ì:
<INPUT name="edit1" size="50">
<SCRIPT type="text/tcl">
proc edit1_changed {} {
if {[edit value] == abc} {
button1 enable 1
} else {
button1 enable 0
}
}
edit1 onChange edit1_changed
</SCRIPT>
<BUTTON type="button" name="mybutton" value="10">
<SCRIPT type="text/javascript">
function my_onclick() {
. . .
}
document.form.mybutton.onclick = my_onclick
</SCRIPT>
</BUTTON>
Õâ Àï ÊÇ Ò» ¸ö ¸ü ÓРȤ µÄ ÊÓ ´° ´¦ Àí:
<SCRIPT type="text/javascript">
function my_onload() {
. . .
}
var win = window.open("some/other/URL")
if (win) win.onload = my_onload
</SCRIPT>
ÔÚ Tcl ÖРΪ :
<SCRIPT type="text/tcl">
proc my_onload {} {
. . .
}
set win [window open "some/other/URL"]
if {$win != ""} {
$win onload my_onload
}
</SCRIPT>
ͨ ¹ý ¸ø ³ö Õâ Щ Óï ·¨ ÏÞ ¶¨, ¶¨ ½ç ·û ('), ("), "&" ºÍ "&#" ÎÞ ·¨ Ö± ½Ó µØ ³ö ÏÖ ÓÚ ÌØ ÐÔ Öµ ÖÐ. Ϊ ÁË ½â ¾ö Õâ ¸ö ÎÊ Ìâ, ÎÒ ÃÇ ½¨ Òé ½Å ±¾ Ê ¼þ µÄ ´¦ Àí ÌØ ÐÔ Ê¼ ÖÕ Ê¹ Óà (") ¶¨ ½ç ·û ¶ø ³ö ÏÖ ÔÚ Ê ¼þ ´¦ Àí ÌØ ÐÔ ÖÐ µÄ ¶¨ ½ç Èç Ï ±í ʾ:
'"' Ó¦ µ± д ×÷ """ »ò """ '&' Ó¦ µ± д ×÷ "&" »ò "&"
<INPUT name="num" value="0"
onChange="if (compare(this.value, "help")) {gethelp()}">
SGML ÔÊ Ðí (') ±» °ü º¬ ÓÚ Óà ˫ Òý ºÅ (") µÄ ÌØ ÐÔ ×Ö ·û ´® ÖÐ,
»ò Ïà ·´. Òò ´Ë Ï ÁÐ ÊÇ Õý È· µÄ:
"this is 'fine'" ºÍ 'so is "this"'
ÎÄ µµ µÄ ¶¯ ̬ ÐÞ ¸Ä ¿É Èç Ï ½¨ Ä£:
<TITLE>Test Document</TITLE>
<SCRIPT type="text/javascript">
document.write("<p><b>Hello World!<\/b>")
</SCRIPT>
¾ß ÓÐ Ïà ͬ ÓÚ HTML ±ê ×¢ µÄ Ч ¹û:
<TITLE>Test Document</TITLE> <P><B>Hello World!</B>
<!ELEMENT NOSCRIPT - - (%block)>¿ª ʼ: Ðè Òª, ½á Êø: Ðè Òª
NOSCRIPT Ôª ËØ ÔÊ Ðí ×÷ Õß ÔÚ ½Å ±¾ ÎÞ ·¨ ÔË ÐÐ µÄ ʱ ºò Ìá ¹© ÂÖ Ìæ ÄÚ ÈÝ. NOSCRIPT Ôª ËØ µÄ ÄÚ ÈÝ Ö» ÔÚ ½Å ±¾ - Öª µÀ µÄ Óà »§ ´ú Àí Æ÷ ÉÏ ÔÚ Ï ÁÐ Çé ¿ö ±» äÖ È¾:
<SCRIPT type="text/tcl"> ...some Tcl script to insert data... </SCRIPT> <NOSCRIPT> <P>To access the data, click <A href="http://someplace.com/data">here.</A> </NOSCRIPT>
Áí Ò» ÖÖ ½â ¾ö Õâ ¸ö ÎÊ Ìâ µÄ ·½ ·¨ ÊÇ °Ñ ½Å ±¾ Öà ÓÚ ´¦ ²¿ ÎÄ µµ ²¢ ÔÚ src ÌØ ÐÔ ÊÇ Ö¸ Ïò Ëü ÃÇ.
ÔÚ JavaScript ÖÐ×¢Êͽű¾
JavaScript Òý Çæ ÔÊ Ðí "<!--" ×Ö ´® ³ö ÏÖ ÔÚ Ò» ¸ö SCRIPT
Ôª ËØ ¿ª ʼ ʱ, ²¢ ÇÒ ºö ÂÔ ºó Ðø µÄ ×Ö ·û Ö± µ½ ÐÐ Ä©. JavaScript
°Ñ "//" ½â Òë Ϊ ¿ª ʼ ×¢ ÊÍ ²¢ À© Õ¹ µ½ µ± ǰ ÐÐ Ä©. Õâ ÊÇ
JavaScript ÆÊ Îö Æ÷ µÄ Ðè Òª: Òþ ²Ø "-->" ×Ö ´®.
<SCRIPT type="text/javascript">
<!-- to hide script contents from old browsers
function square(i) {
document.write("The call passed ", i ," to the function.","<BR>")
return i * i
}
document.write("The function returned ",square(5),".")
// end hiding contents from old browsers -->
</SCRIPT>
<SCRIPT type="text/vbscript"> <!-- Sub foo() ... End Sub ' --> </SCRIPT>
<SCRIPT type="text/tcl">
<!-- to hide script contents from old browsers
proc square {i} {
document write "The call passed $i to the function.<BR>"
return [expr $i * $i]
}
document write "The function returned [square 5]."
# end hiding contents from old browsers -->
</SCRIPT>