javascript
通訊協議是一個僞協議[1], 用於指定 URL 爲 JavaScript 代碼javascript
語法:html
javascript:someScript;
someScript
是一個或多個使用 ;
分隔的 JavaScript 語句.示例java
<a href="javascript:alert('JavaScript Link!');">JavaScript Link</a>
返回值會替換當前文檔瀏覽器
對於 Chrome 瀏覽器來講, 若是最後一條 JavaScript 語句的值爲字符串 (使用''
, ""
或 `
括起來的值), 那麼該字符串會替換當前文檔的內容, 做爲新文檔顯示出來網絡
對於 Firefox 瀏覽器來講, 若是最後一條瀏覽器的返回值不爲 undefined
, 那麼就調用該返回值的 toString()
方法 (若是 toString() 方法不存在就調用 valueOf()
方法), 獲得的結果做爲新文檔顯示出來code
返回值爲 undefined
的幾種常見寫法htm
javascript:; javascript:undefined; // 全局變量 undefined 的值可能被更改 // void 將以後的內容看成表達式, 而後對該表達是求值, 並始終返回 undefined, 而無論全局變量 undefined 的值是否被改變 // 如下寫法等價 javascript:void(0); javascript:void 0;
在保留錨元素 href 屬性的同時防止點擊錨元素頁內/外跳轉blog
javascript:; javascript:undefined; javascript:void(0);
看成 bookmarklet事件
// 修改書籤的 URL 爲如下代碼, 就可實現分屏功能 javascript:'<html><head><title>'+document.title+'</title></head><body style="margin:0;"><iframe style="border:none;" width="50%" height="100%" src='+location.href+'></iframe><iframe style="border:none;" width="50%" height="100%" src='+location.href+'></iframe></body></html>';
執行 JavaScript 代碼 (不推薦)ip
// 更改頁面背景爲綠色 (推薦爲錨元素綁定事件來更改頁面背景) <a href="javascript:void(document.body.style.backgroundColor='green');"> // 打開新頁面 (注意需返回 undefined, 不然在火狐瀏覽器會替換文檔) <a href="javascript:window.open('about:blank'); void(0);">