如何通过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指向与

如何通过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指向与父页面相同的域,则只能访问子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>