我偶然发现了这样的网站,我们称之为home.html
<body>
<iframe id='id1' src="1.html">
</iframe>
</body>
在1.html
,我们得到了
<body>...
<iframe id='id2' src="2.html">
</iframe>
...
</body>
如何使用JavaScript获取2.html
的HTML内容?我没有直接转到2.html
获取内容的原因是因为内容只是一个模板,并在home.html
通常情况下,我会像下面一样获取iframe ID的内容,但在这种情况下它不起作用。
var e = document.getElementById('myid').html;
谢谢。
答案 0 :(得分:4)
试试这个,
var iFrame = document.getElementById('id1');
var iFrameBody= iframe.contentDocument || iframe.contentWindow.document;
content= iFrameBody.getElementsByTagName('body')[0].innerHTML;
alert(content);
答案 1 :(得分:0)
你的iframes src应与你的主页面域相同。浏览器会阻止不同的域内容访问。可以访问相同的域iframe内容。
答案 2 :(得分:0)
仅在iframe之间复制BODY标记内容是不够的,但您还需要复制HEAD标记内容以获得相同的新iframe设计
var iFrameDocument= iframe.contentDocument || iframe.contentWindow.document;
alert(iFrameDocument.head.innerHTML);
alert(iFrameDocument.body.innerHTML);
答案 3 :(得分:0)
如果您要复制具有其属性的正文,则可以执行以下操作:
iframe1.contentWindow.document.body = iframe2.contentWindow.document.body.cloneNode(true);
cloneNode(true)将复制指定节点的每个子节点