JavaScript中偽協(xié)議 javascript:使用探討
將javascript代碼添加到客戶端的方法是把它放置在偽協(xié)議說明符javascript:后的URL中。這個特殊的協(xié)議類型聲明了URL的主體是任意的javascript代碼,它由javascript的解釋器運行。如果javascript:URL中的javascript代碼含有多個語句,必須使用分號將這些語句分隔開。這樣的URL如下所示:
javascript:var now = new Date(); "<h1>The time is:</h1>" + now;
當瀏覽器裝載了這樣的URL時,它將執(zhí)行這個URL中包含的javascript代碼,并把最后一條javascript語句的字符串值作為新文檔的內(nèi)容顯示出來。這個字符串值可以含有HTML標記,并被格式化,其顯示與其他裝載進瀏覽器的文檔完全相同。
javascript URL還可以含有只執(zhí)行動作,但不返回值的javascript語句。例如:
javascript:alert("hello world!")
裝載了這種URL時,瀏覽器僅執(zhí)行其中的javascript代碼,但由于沒有作為新文檔來顯示的值,因此它并不改變當前顯示的文檔。
通常我們想用javascript:URL執(zhí)行某些不改變當前顯示的文檔的javascript代碼。要做到這一點,必須確保URL中的最后一條語句沒有返回值。一種方法是用void運算符顯式地把返回值指定為underfined,只需要在javascript:URL的結(jié)尾使用語句void 0;即可。例如:下面的URL將打開一個新的空瀏覽器窗口,而不改變當前窗口的內(nèi)容:
javascript:window.open("about:blank"); void 0;
如果這個URL沒有void運算符,window.open()方法的返回值將被轉(zhuǎn)換成字符串并被顯示出來,當前窗口將被如下所示的文檔覆蓋。
相關(guān)文章
細說JS數(shù)組遍歷的一些細節(jié)及實現(xiàn)
本文主要介紹了細說JS數(shù)組遍歷的一些細節(jié)及實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-05-05
通用于ie和firefox的函數(shù) GetCurrentStyle (obj, prop)
通用于ie和firefox的函數(shù) GetCurrentStyle (obj, prop)...2006-12-12
JavaScript深度復制(deep clone)的實現(xiàn)方法
本文給大家介紹JavaScript深度復制(deep clone)的實現(xiàn)方法,涉及到j(luò)s深度復制相關(guān)知識,本文介紹的非常詳細,特此分享腳本之家平臺供大家參考2016-02-02
JavaScript實現(xiàn)一鍵復制文本功能的示例代碼
這篇文章主要為大家介紹兩種javascript實現(xiàn)文本復制(將文本寫入剪貼板)的方法,文中的示例代碼講解詳細,大家可以根據(jù)需求特點選用2023-03-03
JS/HTML5游戲常用算法之碰撞檢測 包圍盒檢測算法詳解【凹多邊形的分離軸檢測算法】
這篇文章主要介紹了JS/HTML5游戲常用算法之碰撞檢測 包圍盒檢測算法,結(jié)合實例形式詳細分析了javascript針對凹多邊形的分離軸檢測算法相關(guān)概念、原理、實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下2018-12-12

