此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>
答案 0 :(得分:0)
尝试将以下内容添加到script
代码中:
type="text/javascript"
答案 1 :(得分:0)
这有点奇怪 - 您的JavaScript不应该能够检测用户在不同域的IFRAME中执行的操作。 “模糊”事件不是用户在IFRAME中点击的可靠指标(如果她只是切换到另一个窗口会怎么样?)。
简而言之:您正在尝试做的是反对Web脚本的体系结构,这有很好的理由与安全性和隐私性有关,因此您无法可靠地执行此操作。