我有一个链接:
<a href="javascript:someObject.someFunction();" target="_blank" style="color: rgb(225, 233, 41);">someText</a>
除了ie(我尝试ie11)之外它在任何地方都可以正常工作我有这个错误
This page can’t be displayed.
Make sure the web address //ieframe.dll/dnserror.htm# is correct.
我该如何解决这个问题?
答案 0 :(得分:9)
如果在HTML href属性中使用javascript URI方案,则这与使用onclick事件处理程序不同。
在IE中,执行该JavaScript的结果将替换当前加载的文档。
为了避免这种情况(不重构您的代码而不以这种方式执行操作),您可以使用javascript运算符void
结束您的href,它会告诉您的javascript什么都不返回(嗯,未定义)。
然后IE将保留在当前页面上。
<a href="javascript:someObject.someFunction(); void 0" ...
...您可能不想要target="_blank"
,因为您正在告诉新窗口运行您的JavaScript代码,并且您的功能在该窗口中不可用。
答案 1 :(得分:1)
我会这样做:
<a href="#" onclick="event.preventDefault(); someObject.someFunction();" target="_blank" style="color: rgb(225, 233, 41);">someText</a>
它将按照您的意图打开一个新选项卡,它可以在chrome,firefox和IE中使用。