Javascript和目标="_top";

Javascript和目标="_top";,javascript,internet-explorer-7,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:myFunct

我正在使用一个旧框架网站,该网站刚刚被移动到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>
一旦我删除了
target=“\u top”
属性,该函数就会工作,因此我不需要帮助解决问题,但我的问题是:

当调用javascript函数来调用此行为时,IE如何处理target属性?我没有安装其他版本的IE,这在8+中也是当前的行为吗


谢谢

试图理解这种行为是没有意义的。您使用的是一种定义不明确的技术,现在的开发人员也没有使用这种技术

不要使用
href=“javascript:myFunction();
,只需使用
onclick=“myFunction();返回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>


//这是老派的,但适用于所有浏览器,您应该使用库 document.getElementById('my-link')。onclick=function(){ //做你的事 return false;//因此不遵循该链接 };
试图理解这种行为是没有意义的。你使用的是一种没有很好定义的技术,现在的开发人员也没有使用这种技术

而不是
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>


//这是老派的,但适用于所有浏览器,您应该使用库 document.getElementById('my-link')。onclick=function(){ //做你的事 return false;//因此不遵循该链接 };
IE7当然有
console.log
,您只需确保您确实打开了web developer窗口-我知道是这样的:/n您不应该使用
href=“javascript:myFunction();”
来运行JS。使用
onclick
属性或从JS设置处理程序(首选)。那么你就不必担心这个问题了,也许它正试图在
\u top
框架中找到
myFunction
函数<代码>目标已被弃用。写下你的意思,而不是依赖于古怪的行为。我同意胡安和我通常不会,就像我说的,这是我没有创造的遗产。我只是在清理一些错误。我今天没有这么做。@Frits,我没有意识到有一个控制台,哈哈。我现在就下载它……IE7肯定有
console.log
,你只需要确保你确实打开了web开发者窗口-我知道是对的:/你不应该使用
href=“javascript:myFunction();”
来运行JS。使用
onclick
属性或从JS设置处理程序(首选)。那么你就不必担心这个问题了,也许它正试图在
\u top
框架中找到
myFunction
函数<代码>目标已被弃用。写下你的意思,而不是依赖于古怪的行为。我同意胡安和我通常不会,就像我说的,这是我没有创造的遗产。我只是在清理一些错误。我今天不这么做。@Frits,我没意识到有一个控制台,哈哈。我现在就下载它……我不认为这是一个糟糕的做法,但我继承了半打遗留网站(10多年历史),所以在它们能够重建或日落之前,理解是有价值的。您是否介意简要阐述一下“从JS设置处理程序”?检查是否存在。建立使用它。未找到(即“您应该使用库来代替”我通常使用jQuery,但感谢您的解释。我并不反对这是一种糟糕的做法,但我继承了半打遗留网站(10年以上的历史),因此,在它们可以重建或日落之前,理解是有价值的。您介意简要阐述一下“从JS设置处理程序”吗?检查是否存在.found?使用它.Not found(即“您应该使用库来代替”)我通常使用jQuery,但感谢您的解释。