我需要阅读一个iframe的源代码内容,这是一个跨域
<script type="text/javascript">
$(document.getElementById("iFrame")).ready(function(){
var iframe = document.getElementById('iFrame');
var innerDoc = iframe.contentDocument;
});
有机会在另一个域上阅读我的iframe源代码吗?
答案 0 :(得分:1)
正如评论者所指出的,这是一个跨域请求,因此它不能作为AJAX请求工作。您可以尝试在自己的域上创建一个端点,您可以提交一个AJAX请求,然后从URL服务器端检索内容。
答案 1 :(得分:1)
有HTML5 postMessage和URL哈希轮询(适用于不支持HTML5的浏览器)。
https://developer.mozilla.org/en-US/docs/DOM/window.postMessage
http://softwareas.com/cross-domain-communication-with-iframes
如果您无法控制这两个域,那么您将无法使用服务器端解决方案。使用URL作为参数向域内服务器发送ajax请求,并让它返回HTML。
编辑由于存在downvotes,我将详细阐述URL哈希轮询。尽管由于跨域限制而没有对URL的读访问权限,但您仍然可以设置URL哈希(URL末尾的#字符后面的文本)。因此,您设置哈希值,这不会导致页面重新加载,并且脚本可以“轮询”该哈希值的更改。