在href即11中使用js时出错

时间:2014-04-15 07:35:06

标签: javascript internet-explorer

我有一个链接:

<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.

我该如何解决这个问题?

2 个答案:

答案 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中使用。