Javascript 将滚动事件绑定到iframe

Javascript 将滚动事件绑定到iframe,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,我正在使用iframe加载外部URL。这是结构图- <iframe id="iframe-wrapper" src="http://blog.kpmg.ch/" style="width: 100%; height: 100%; overflow-y: scroll"></iframe> (二) (三) (四) 这是行不通的。这是因为原产地相同的政策。因为您的页面和iFrame的源不在同一个域中,所以事件永远不会在您的主页上触发。请在此处阅读更多信息: 也许您可以使用

我正在使用iframe加载外部URL。这是结构图-

<iframe id="iframe-wrapper" src="http://blog.kpmg.ch/" style="width: 100%; height: 100%; overflow-y: scroll"></iframe>
(二)

(三)

(四)


这是行不通的。这是因为原产地相同的政策。因为您的页面和iFrame的源不在同一个域中,所以事件永远不会在您的主页上触发。请在此处阅读更多信息:

也许您可以使用以下解决方案之一使其工作:


因此,对于外部URL(不在同一个域上),这总是有问题的。

$(“#iframe wrapper”)。滚动(fn)你试过了吗?复制是你没有见过或尝试过的东西,它可以工作!我已经尝试了链接,检查我展示的第三个例子,如果你能帮助我,请告诉我哪里做错了。在完成并理解完整问题之前,不要找到重复项。:)@洁,是的,我已经试过了,对我没用。我不知道这里出了什么问题。我发现事件应该在iframe完全加载后绑定。所以我不再那样做了。@ SUVRO你认为你的问题是调用Actuple()函数,而不是iFrAm本身?你看过这个@KhalidT了吗。谢谢你指出这一点。但我已经这样试过了。也不起作用。:)谢谢你的回复和链接。至少现在我知道是什么导致了这个问题,我应该怎么做。这就是为什么其他解决方案对我不起作用的原因。需要找到一个解决方法。我确实指导过你到另一个线程(在对你的问题的评论中),在那里他们建议如何绕过它(使用postMessage API),但只有当你控制了两个页面(父页面和iframe)时,这才行得通。如果不是这样,那么你就没有真正的方法来做你想要做的事情,并且有充分的理由。
    $(window).load(function(){
      $($('#iframe-wrapper').contents()).scroll(function(){
       alert("Scrolling");
      }); 
    });
    $('#iframe-wrapper').load(function(){
      $($(this)[0].contentWindow).scroll(function(){
        alert("Scrolling");
      });
    });
$("#iframe-wrapper").load(function(){
    var iframeContent = getFrameTargetElement( document.getElementById("iframe-wrapper") );
    iframeContent.onscroll = function(e){
        alert("Scrolling");
    };        
});
$("#iframe-wrapper").load(function(){
    $("#iframe-wrapper").contents().find("body").scroll( function(e) {
        alert("Scrolling");
    });
});