在选项卡式浏览器(对我来说是FF 3.5)中,我经常在新选项卡中打开链接,只需按住CTRL键或单击鼠标中键。当链接包含Javascript函数时,可以:
javascript:window.print()
或您在地址栏中的内容。事实上,对于所有Javascript函数,这似乎并不一致。例如:
相关链接分别包含以下代码:
javascript:window.print();
javascript:_hbRedirect('PDF Downloads','White Paper','URL.pdf','&c1=TITLE|US-en')
This SO question有点类似。评价最高的答案详细介绍了一个基于AJAX的解决方案,但是我无法找到解释为什么某些Javascript函数与标签的行为不同的原因。
答案 0 :(得分:1)
JavaScript不应与XHTML混合使用。让链接的href属性只是您要链接到的页面或文档。如果您想对标签做一些特殊的事情,请使用事件注册。
A la MooTools:
a.addEvent ('click', function (e) {
});
答案 1 :(得分:1)
这是因为window.print()
已经默认定义,所以它被正常调用。
javascript:_hbRedirect('PDF Downloads','White Paper','URL.pdf','&c1=TITLE|US-en')
链接调用未定义的函数,因此没有任何反应。