Javascript和target =“_ top”

时间:2012-12-18 17:31:14

标签: javascript internet-explorer-7

我正在使用遗留框架网站,该网站刚刚移入iFrame。

假设我有以下功能:

<script language = "javascript">
  function myFunction(){
    <!-- no console.log in IE 7 (my required target browser) -->
    alert('sup, yo?'); 
  }
</script>

以及以下超链接触发函数:

<a href="javascript:myFunction();" target="_top">click me</a>

之前进入iFrame这项工作正常。将网站移入iframe后,点击IE中的链接(不是FF或Chrome),我会得到一个非常有用的错误:

Line: 1
Object expected

删除target="_top"属性后,该功能会起作用,所以我不需要帮助解决问题,但我的问题是:

在调用javascript函数调用此行为时,IE使用target属性做什么?我没有安装其他版本的IE,这个当前行为是否也在8+以上?

感谢。

1 个答案:

答案 0 :(得分:1)

尝试理解行为是没有意义的。您正在使用一种定义不明确且现在不被开发人员使用的技术。

而不是href="javascript:myFunction();,只需使用onclick="myFunction(); return false"甚至更好,从JS设置处理程序,如下所示

<a href="pageForUsersWithoutJs.html" id="my-link" >click me</a>
<script type="text/javascript">
// This is old school, but works for all browsers, you should use a library instead
document.getElementById('my-link').onclick = function() {
    // Do your thing
    return false; // so the link isn't followed
};
</script>