我正在尝试在已投入生产的网站上展示新功能。因此,我使用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/
答案 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你有这个例子吗?