首頁 >web前端 >js教程 >JavaScript中偽協議 javascript:使用探討_javascript技巧

JavaScript中偽協議 javascript:使用探討_javascript技巧

WBOY
WBOY原創
2016-05-16 16:41:481483瀏覽

將javascript程式碼加入客戶端的方法是把它放置在偽協定說明符javascript:後的URL中。這個特殊的協定類型宣告了URL的主體是任意的javascript程式碼,它由javascript的解譯器運作。如果javascript:URL中的javascript程式碼含有多個語句,則必須使用分號將這些語句分隔開。這樣的URL如下圖:

javascript:var now = new Date(); "<h1>The time is:</h1>" + now;

當瀏覽器裝載了這樣的URL時,它將執行這個URL中包含的javascript程式碼,並顯示最後一條javascript語句的字串值作為新文件的內容。這個字串值可以含有HTML標記,並且被格式化,其顯示與其他裝載進瀏覽器的文件完全相同。

javascript URL也可以含有隻執行動作,但不傳回值的javascript語句。例如:

javascript:alert("hello world!")

裝載了這種URL時,瀏覽器僅執行其中的javascript程式碼,但由於沒有作為新文件來顯示的值,因此它不會改變目前顯示的文件。

通常我們想用javascript:URL執行某些不改變目前顯示的文檔的javascript程式碼。要做到這一點,必須確保URL中的最後一條語句沒有回傳值。一種方法是用void運算子明確地把回傳值指定為underfined,只需要在javascript:URL的結尾使用語句void 0;即可。例如:下面的URL將開啟一個新的空瀏覽器窗口,而不改變目前視窗的內容:

javascript:window.open("about:blank"); void 0;

如果這個URL沒有void運算符,window.open()方法的回傳值將會轉換成字串並被顯示出來,目前視窗將會被如下所示的文件覆寫。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn