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中尝试包含