两种在超链接中定义的JavaScript脚本的不同
2012-07-27 17:56
225 查看
<a href="javascript:window.open('http://www.oseye.net');">空链接</a> <a href="#" onclick="window.open('http://www.oseye.net');">空链接</a>
以上另种方式都可达到使用脚本打开一个oseye的窗口,但不同点如下:
前者的脚本代码是在URL位置,充当URL,其实是在浏览器中的地址栏中执行的;
后者的脚本代码是在HTML元素的事件属性中,是靠事件来触发执行的;
验证前者是在浏览器地址栏中执行(以下如果有乱码,请更改浏览器查看编码)
迹象一:可以直接IE浏览器中在地址栏中敲入脚本代码:
javascript:window.open('http://www.oseye.net');
然后回车,如下图:
迹象二:把代码
<a href="javascript:window.open('http://www.oseye.net');">空链接</a>
保存成HTML,使用Firefox浏览器打开,点击“空连接”,能看到如下图:
迹象三:如果把代码
<a href="javascript:window.open('http://www.oseye.net');">空链接</a>
和代码
<a href="#" onclick="window.open('http://www.oseye.net');">空链接</a>
分别保存HTML文档,使用IE打开,如下图:
后者会询问出入安全考虑是否阻止执行,但前者没有。说明后者IE的ECMAScript解析引擎已经检测到脚本代码,而前者只有在点击“空链接”时才提示。
虽然两种浏览器的解析引擎不同,但我猜猜充当URL的脚本代码应该是在浏览器的地址栏中执行的。欢迎不同见解....
PS:前者打开窗口后,原窗口的内容变了,而且可能变为了"[object]"或"[object Window]",可以在脚本语句加上"void(0)"即可。
相关文章推荐
- javascript两种不同形式函数定义的区别
- Javascript从数组中随机取出不同元素的两种方法
- javascript两种function的定义介绍及区别说明
- weblogic中两种不同的运行wlst脚本的方式
- Javascript中两种方式定义函数的区别
- javascript trim()函数的两种定义
- Javascript 两种 function 定义的本质区别
- JavaScript中的函数的两种定义方式和函数变量赋值
- javascript:两种注释,声明变量,定义函数。
- javascript中字符串的两种定义形式
- javascript笔记:javascript里面不同function定义的区别
- Javascript 两种定义Function的方法
- JavaScript中的函数的两种定义方式和函数变量赋值
- 信息系统字段动态定义 和 JavaScript 实用脚本,很好,珍藏起来[转贴]
- 【JavaScript 学习--12】--js 中两种函数定义的区别:函数声明和函数表达式
- javascript基础之两种函数的定义方法
- 分享一段通过前端javascript脚本 启用/禁用超链接的代码
- JavaScript 定义对象的两种方式
- Javascript 两种定义Function的方法
- javascript中两种定义函数方式的差别以及函数的预编译效果