JavaScript在OPERA中不起作用

javascript not working in OPERA

本文关键字:不起作用 OPERA JavaScript      更新时间:2023-09-26

这个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>

尝试将以下内容添加到script标签中:

type="text/javascript"
这是

一件奇怪的事情 - 你的JavaScript不应该能够检测到用户在不同域的IFRAME中做了什么。"blur"事件不是用户在 IFRAME 中单击的可靠指示器(如果她只是切换到另一个窗口怎么办?

简而言之:您正在尝试做的事情是反对Web脚本的体系结构,出于与安全和隐私有关的充分原因,因此您无法可靠地做到这一点。