1

我正在使用刚刚移入 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+ 中的当前行为吗?

谢谢。

4

1 回答 1

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>
于 2012-12-18T17:44:05.803 回答