URL形式的Javascript
标签:
Javascript
除了在<script></script>之间直接使用js,<script>里面使用src属性制定外部js文件外,还有一种js的用法就是在url中使用
具体的语法是在Javascript:
后加上js语句
这个小小的功能,让js可以用在更多场合
比如我常用的,使用Bloglines订阅当前页面的feed,就是这样一个js: javascript:location.href= 'http://www.bloglines.com/sub/'+location.href
由于这样的js等价于url,所以我们可以将之作为bookmark收藏到fx的bookmark toolbar,在浏览页面时方便的调用。
当然, 还有一个更常用的:作为href的值定义在<a>中.
但是要注意的是, url形式的js有一个特性:如果最后一条语句有返回值,会将最后一句的值产生新的页面.
这个特性也曾经让我十分郁闷.有时在href使用javascript:时, 带有alert(sth)和没有这一句alert在最后的结果完全不一样.其实这正是因为alert()不会返回任何值,因此不会对当前页面产生任何影响。而如果没有alert(),如果最后一句正好返回了一个document对象,那么浏览器就会更新你的页面。
要避免这样的情况,除了alert以外更好的方法是在url形式的js所有语句结束前加上;return void
或 ;void 0
没有评论:
发表评论