簡介
javascript 通信協議是一個偽協議[1], 用于指定 URL 為 JavaScript 代碼
-
語法:
javascript:someScript;someScript是一個或多個使用;分隔的 JavaScript 陳述句.
-
示例
<a href="javascript:alert('JavaScript Link!');">JavaScript Link</a>
特點
-
回傳值會替換當前檔案
-
對于 Chrome 瀏覽器來說, 如果最后一條 JavaScript 陳述句的值為字串 (使用
'',""或`括起來的值), 那么該字串會替換當前檔案的內容, 作為新檔案顯示出來 -
對于 Firefox 瀏覽器來說, 如果最后一條瀏覽器的回傳值不為
undefined, 那么就呼叫該回傳值的toString()方法 (如果 toString() 方法不存在就呼叫valueOf()方法), 得到的結果作為新檔案顯示出來 -
回傳值為
undefined的幾種常見寫法javascript:; javascript:undefined; // 全域變數 undefined 的值可能被更改 // void 將之后的內容當作運算式, 然后對該表達是求值, 并始侄訓傳 undefined, 而不管全域變數 undefined 的值是否被改變 // 以下寫法等價 javascript:void(0); javascript:void 0;
-
用途
- 任何使用 URL 的地方都可以使用該通信協議
-
在保留錨元素 href 屬性的同時防止點擊錨元素頁內/外跳轉
javascript:; javascript:undefined; javascript:void(0); -
當作 bookmarklet 這里寫了個小 Demo
// 修改書簽的 URL 為以下代碼, 就可實作分屏功能 javascript:'<html><head><title>'+document.title+'</title></head><body style="margin:0;"><iframe style="border:none;" width="50%" height="100%" src='https://www.cnblogs.com/ayuuuuuu/p/+location.href+'></iframe><iframe style="border:none;" width="50%" height="100%" src='https://www.cnblogs.com/ayuuuuuu/p/+location.href+'></iframe></body></html>'; -
執行 JavaScript 代碼 (不推薦)
// 更改頁面背景為綠色 (推薦為錨元素系結事件來更改頁面背景) <a href="javascript:void(document.body.style.backgroundColor='green');"> // 打開新頁面 (注意需回傳 undefined, 否則在火狐瀏覽器會替換檔案) <a href="javascript:window.open('about:blank'); void(0);">
-
網路通信協議 ??
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/31493.html
標籤:JavaScript
