如何通过iframe上的jquery访问div元素?
如何通过iframe上的jquery访问div元素 我试过这个()如何通过iframe上的jquery访问div元素?,jquery,html,Jquery,Html,如何通过iframe上的jquery访问div元素 我试过这个() 变量ifr=$(“#ifr”); $(“#ifr”).load(函数(){ 警报($(“#ifr”).contents().find('#test').html()); }); $(“#ifr”).attr('src','http://meoooh.raonnet.com/test/oh.html'); 及 我收到一个未定义的警报 为什么我不能访问div元素 为什么我不能访问div元素 出于安全原因。如果子iframe指向与
变量ifr=$(“#ifr”);
$(“#ifr”).load(函数(){
警报($(“#ifr”).contents().find('#test').html());
});
$(“#ifr”).attr('src','http://meoooh.raonnet.com/test/oh.html');
及
我收到一个未定义的
警报
为什么我不能访问div元素
为什么我不能访问div元素
出于安全原因。如果子iframe指向与父页面相同的域,则只能访问子iframe的DOM元素。在您展示的示例中,父页面位于
jsfiddle.net
上,而iframe的src
属性(如果指向meoooh.raonnet.com
)是两个不同的域和浏览器,则不允许您这样做。只有当两个域相同时,您才能访问iframe中的元素。Chrome在控制台中返回以下错误:
阻止原点为“”的帧访问帧
原产地为“”协议、域和端口必须匹配。
当它要求您在链接中附带代码时,请这样做。不要只是尝试寻找解决方法。find()调用是否返回了一些内容?。。。仅当使用的两个域
和子域以及端口和协议相同时。。。
<script>
var ifr = $("#ifr");
$("#ifr").load(function () {
alert($("#ifr").contents().find('#test').html());
});
$("#ifr").attr('src', 'http://meoooh.raonnet.com/test/oh.html');
</script>
<iframe id="ifr" width="560" height="315"></iframe>