在HTML中,JavaScript代码不仅可以放到“<script>”与“</script>”标签中,还可以放到一个URL中。它的实现方法是在一个URL中添加一个“javascript:”伪协议限定符,这种指定的协议类型说明了URL的内容是JavaScript解释器将要运行的JavaScript代码的一个任意的字符串。它被当作单独的代码对待,每条语句必须用分号分隔开,并且“”注释必须取代“//”。例如可以将下列JavaScript URL粘贴到浏览器地址栏并运行:
1 |
javascript:var now = new Date(); "< h1 >The time is:</ h1 >" + now;
|
通常情况下,可能还希望使用一个JavaScript URL来执行某些JavaScript代码而不改变当前显示的文档。要做到这点,需要确保JavaScript URL中的最后一条语句没有返回值。确保这点的一种方式是使用“void”运算符来显示的指定一个未定义的返回值。请对比下面例子产生的结果:
1
2
3 |
javascript:window.open("about:blank");
javascript:void window.open("about:blank");
javascript:window.open("about:blank"); void 0;
|
“javascript:”伪协议限定符可以和HTML属性一起使用,该属性的值也应该是一个URL环境,一个超链接的“href”属性就满足这个条件。请参考下面的列子:
1
2
3
4
5
6
7
8
9
10
11
12 |
< a href='javascript:
var e = "" , r = "" ;
do {
e = prompt ("表达式:" + e + "\n" + r + "\n", e);
try {
r = "结果:" + eval(e);
} catch(ex) {
r = ex ;
}
} while(e);
void 0;
'>计算器</ a >
|
|