javascript在OPERA中无效

时间:2012-08-13 16:51:32

标签: javascript opera

此javascript适用于Firefox,IE,Chrome但不适用于Opera。如何使其跨浏览器兼容? 我需要脚本来检测点击iframe。

<script>
var isOverIFrame = false;
function processMouseOut() {
isOverIFrame = false;
top.focus();
}
function processMouseOver() { isOverIFrame = true; }
function processIFrameClick() {
if(isOverIFrame) {
//was clicked
}
}

function init() {
var element = document.getElementsByTagName("iframe");
for (var i=0; i<element.length; i++) {
    element[i].onmouseover = processMouseOver;
    element[i].onmouseout = processMouseOut;
}
if (typeof window.attachEvent != 'undefined') {
    top.attachEvent('onblur', processIFrameClick);
}
else if (typeof window.addEventListener != 'undefined') {
    top.addEventListener('blur', processIFrameClick, false);
}
}
</script>

<iframe src="http://google.com"></iframe>

<script>init();</script>

2 个答案:

答案 0 :(得分:0)

尝试将以下内容添加到script代码中:

type="text/javascript"

答案 1 :(得分:0)

这有点奇怪 - 您的JavaScript不应该能够检测用户在不同域的IFRAME中执行的操作。 “模糊”事件不是用户在IFRAME中点击的可靠指标(如果她只是切换到另一个窗口会怎么样?)。

简而言之:您正在尝试做的是反对Web脚本的体系结构,这有很好的理由与安全性和隐私性有关,因此您无法可靠地执行此操作。