使用jQuery处理用户在html5 iframe中的点击

时间:2016-10-06 14:42:06

标签: javascript jquery html iframe

我正在尝试在已投入生产的网站上展示新功能。因此,我使用iframe将此网站加载到我的开发服务器中,如下所示:

<!DOCTYPE html>
<html lang="en">
<head>

</head>
<body>
 <iframe id="myframe" src="https://production_website.com" style="border:none;" width="100%" height="600" seamless></iframe>
</body>
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
     <script>
        console.log($("#myframe").contents());
        $("#myframe").contents().find(".importantContent").click(function(){
         console.log($(this));
        });
     </script>
</html>

我试图拦截iframe区域中特定DOM元素的用户点击,基于我将注入特定的HTML内容来演示功能。但是用jquery click()监听是行不通的。

有关该怎么做的任何建议?

我知道相同的原始政策限制,但对于无法控制服务器的网页设计人员/开发人员,是否有解决方法,例如使用插件禁用限制?

示例:https://addons.mozilla.org/en-US/firefox/addon/cors-everywhere/

1 个答案:

答案 0 :(得分:1)

我在另一个帖子中找到了这个答案,看起来它可能适用于你。尝试:

$('#myframe').load(function(){

    var iframe = $('#myframe').contents();

    iframe.find(".importantContent").click(function(){
           alert("test");
    });
});

另外,你有$(&#34;#reco&#34;)。contents()而不是$(&#34; #myframe&#34;)。contents(),你是不是要使用iframe你有这个例子吗?