Javascript 如何获取<;iframe>;包含不同的站点?

Javascript 如何获取<;iframe>;包含不同的站点?,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,我能够使用.src获得一个函数的'src'属性。但我无法获取位于其他域中的内容。这是浏览器安全问题吗 jQuery(document).ready(function() { var elementTest = $("iframe:first").get(0); alert(elementTest.src); // ok alert(elementTest.innerHTML); // not ok }); 您要查找的属性是contentWindow 请尝试以下代码:

我能够使用
.src
获得一个函数的'src'属性。但我无法获取位于其他域中的内容。这是浏览器安全问题吗

jQuery(document).ready(function() {
    var elementTest = $("iframe:first").get(0);
    alert(elementTest.src);  // ok
    alert(elementTest.innerHTML);  // not ok
});

您要查找的属性是contentWindow

请尝试以下代码:

alert(elementTest.contentWindow.document.innerHTML);
它类似于当前窗口对象,但适用于iframe。所以你也可以这样做:

alert(elementTest.contentWindow.location.href);
编辑:啊-我错过了一个事实,您在iframe中有一个来自另一个域的页面。 此方法不适用于您,因为一个域(您的父窗口)和访问另一个域(您的iframe)中的信息都有内置的浏览器限制。

是的,在该外部域中检查内容和执行代码的限制被称为。

从某种意义上说,您正在尝试的是是跨域通信。这不会以您尝试过的正常方式工作(由于altCognito指出的同源策略),但是如果您可以控制其他服务器,则有一些解决方案。查看本文:


只有在iframe中加载的内容来自同一域时,此操作才有效。。。在他的情况下,这将不起作用。获取属性窗口的权限被拒绝。文档在这种情况下,我将能够在google gadget中尝试包含