我能够获得使用.src
的'src'属性。但我无法获取位于另一个域中的内容。这是浏览器安全问题吗?
jQuery(document).ready(function() {
var elementTest = $("iframe:first").get(0);
alert(elementTest.src); // ok
alert(elementTest.innerHTML); // not ok
});
答案 0 :(得分:7)
是的,此 限制 反对检查内容并在该外部域中执行代码称为same-origin policy。
答案 1 :(得分:1)
您正在寻找的属性是contentWindow。
试试这段代码:
alert(elementTest.contentWindow.document.innerHTML);
它类似于当前窗口对象,但对于iframe。所以你也可以这样做:
alert(elementTest.contentWindow.location.href);
修改:啊 - 我错过了你在iframe中拥有来自其他网域的网页的事实。 这种方法不适合您,因为一个域(您的父窗口)的内置浏览器限制和访问另一个域(您的iframe)中的信息。
答案 2 :(得分:1)
您正在尝试(在某种意义上)是跨域通信。这不会以您尝试的正常方式工作(由于altCognito指出的同源策略),但如果您可以控制其他服务器,则有一些解决方案。看看这篇文章: