|
在HTML中,JavaScript代碼不僅可以放到“<script>”與“</script>”標(biāo)簽中,還可以放到一個URL中。它的實現(xiàn)方法是在一個URL中添加一個“javascript:”偽協(xié)議限定符,這種指定的協(xié)議類型說明了URL的內(nèi)容是JavaScript解釋器將要運行的JavaScript代碼的一個任意的字符串。它被當(dāng)作單獨的代碼對待,每條語句必須用分號分隔開,并且“”注釋必須取代“//”。例如可以將下列JavaScript URL粘貼到瀏覽器地址欄并運行:
|
1 |
javascript:var now = new Date(); "<h1>The time is:</h1>" + now;
|
通常情況下,可能還希望使用一個JavaScript URL來執(zhí)行某些JavaScript代碼而不改變當(dāng)前顯示的文檔。要做到這點,需要確保JavaScript URL中的最后一條語句沒有返回值。確保這點的一種方式是使用“void”運算符來顯示的指定一個未定義的返回值。請對比下面例子產(chǎn)生的結(jié)果:
|
1
2
3 |
javascript:window.open("about:blank");
javascript:void window.open("about:blank");
javascript:window.open("about:blank"); void 0;
|
“javascript:”偽協(xié)議限定符可以和HTML屬性一起使用,該屬性的值也應(yīng)該是一個URL環(huán)境,一個超鏈接的“href”屬性就滿足這個條件。請參考下面的列子:
|
1
2
3
4
5
6
7
8
9
10
11
12 |
<a href='javascript:
var e = "", r = "";
do {
e = prompt("表達(dá)式:" + e + "\n" + r + "\n", e);
try {
r = "結(jié)果:" + eval(e);
} catch(ex) {
r = ex;
}
} while(e);
void 0;
'>計算器</a>
|
|