Javascript 如果框架具有外部URL,则文档单击不工作

Javascript 如果框架具有外部URL,则文档单击不工作,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,我试图在iframe上获取文档点击,但它似乎没有拾取文档点击事件,因此我尝试显式生成iframe点击,它似乎与内部内容一起工作,但当我放置外部URL时,它没有触发点击事件 HTML <iframe id="myframe" src="http://kooldotnet.blogspot.in/2013/07/image-resize.html"></iframe> 请帮忙,我该怎么办 更新 当我在jsfiddle中尝试iframsrc时,它是www.google.co

我试图在iframe上获取文档点击,但它似乎没有拾取文档点击事件,因此我尝试显式生成iframe点击,它似乎与内部内容一起工作,但当我放置外部URL时,它没有触发点击事件

HTML

<iframe id="myframe" src="http://kooldotnet.blogspot.in/2013/07/image-resize.html"></iframe>

请帮忙,我该怎么办

更新


当我在jsfiddle中尝试iframsrc时,它是www.google.com 工作

修改@A.Wolf的代码

我得到了一把小提琴


由于同源策略,您无法将事件绑定到跨域iframe的内容(如果不是由iframe本身明确处理的话)

关于您的具体情况,将单击事件绑定到iframe的主体,您可以使用以下解决方法:

$(focusWindow);

$('iframe').on('mouseenter', function () {
    window.targetedIframe = this;
    $(window).on('blur', iframeclicked);
}).on('mouseleave', function () {
    $(window).off('blur', iframeclicked);
    if($(document.activeElement).is('iframe'))
        focusWindow();
});

function iframeclicked(){
    console.log('iframe clicked', window.targetedIframe);
}

function focusWindow(){
    $('<div/>').attr('tabindex',-1).appendTo('body').focus().remove();
}
$(焦点窗口);
$('iframe')。on('mouseenter',function(){
window.targetedIframe=this;
$(窗口)。在('blur',如果单击);
}).on('mouseleave',函数(){
$(窗口).off('blur',如果单击);
if($(document.activeElement).is('iframe'))
焦点窗口();
});
函数iframeclicated(){
console.log('iframe clicked',window.targetedIframe);
}
函数焦点窗口(){
$(“”).attr('tabindex',-1).appendTo('body').focus().remove();
}

可能的CORS问题?当我在jsfiddle中尝试使用www.google.com上的ifram src时,它正在工作。请检查我的jsfiddle->,当我将mouseenter更改为click时,为什么不调用它,谢谢,因为你不能将click事件绑定到iframe,而是mouseenter/mouseleave/(其他列表??)。这就是这个解决方案的目的,即使它并不完美:如果这是iframe的限制,那么当我设置为google.com时,为什么要注册它的点击事件
$(focusWindow);

$('iframe').on('mouseenter', function () {
    window.targetedIframe = this;
    $(window).on('blur', iframeclicked);
}).on('mouseleave', function () {
    $(window).off('blur', iframeclicked);
    if($(document.activeElement).is('iframe'))
        focusWindow();
});

function iframeclicked(){
    console.log('iframe clicked', window.targetedIframe);
}

function focusWindow(){
    $('<div/>').attr('tabindex',-1).appendTo('body').focus().remove();
}