我正在使用遗留框架网站,该网站刚刚移入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+以上?
感谢。
答案 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>