javascript:這個(gè)特殊的協(xié)議類型聲明了URL的主體是任意的javascript代碼,它由javascript的解釋器運(yùn)行。
將javascript代碼添加到客戶端的方法是把它放置在偽協(xié)議說明符javascript:后的URL中。這個(gè)特殊的協(xié)議類型聲明了URL的主體是任意的javascript代碼,它由javascript的解釋器運(yùn)行。如果javascript:URL中的javascript代碼含有多個(gè)語句,必須使用分號(hào)將這些語句分隔開。這樣的URL如下所示:
javascript:var now = new Date(); "<h1>The time is:</h1>" + now;當(dāng)瀏覽器裝載了這樣的URL時(shí),它將執(zhí)行這個(gè)URL中包含的javascript代碼,并把最后一條javascript語句的字符串值作為新文檔的內(nèi)容顯示出來。這個(gè)字符串值可以含有HTML標(biāo)記,并被格式化,其顯示與其他裝載進(jìn)瀏覽器的文檔完全相同。
javascript URL還可以含有只執(zhí)行動(dòng)作,但不返回值的javascript語句。例如:
javascript:alert("hello world!")裝載了這種URL時(shí),瀏覽器僅執(zhí)行其中的javascript代碼,但由于沒有作為新文檔來顯示的值,因此它并不改變當(dāng)前顯示的文檔。
通常我們想用javascript:URL執(zhí)行某些不改變當(dāng)前顯示的文檔的javascript代碼。要做到這一點(diǎn),必須確保URL中的最后一條語句沒有返回值。一種方法是用void運(yùn)算符顯式地把返回值指定為underfined,只需要在javascript:URL的結(jié)尾使用語句void 0;即可。例如:下面的URL將打開一個(gè)新的空瀏覽器窗口,而不改變當(dāng)前窗口的內(nèi)容:
javascript:window.open("about:blank"); void 0;如果這個(gè)URL沒有void運(yùn)算符,window.open()方法的返回值將被轉(zhuǎn)換成字符串并被顯示出來,當(dāng)前窗口將被如下所示的文檔覆蓋。
更多信息請(qǐng)查看IT技術(shù)專欄