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);">