gpt4 book ai didi

javascript - 如何找到 Iframe 页面呈现的内容?

转载 作者:行者123 更新时间:2023-11-30 05:56:21 24 4
gpt4 key购买 nike

我有以下编码页面:

我的页面.html:

    <html><script>var a=document.createElement('p');
a.innerHTML="hello world";
document.body.appendChild(a);​​​​​​​​​​​</script>
​​​​​​​​​​​​​​​​​​​​​​<body>
<p>testing 1 2 3....</p></body>
</html>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

当我使用具有以下代码的 find.html 提取信息时。

<script>
window.onload =finder();
function finder(){
var iframe=document.createElement('iframe');
iframe.width=1;
iframe.height=1;
iframe.src='mypage.html';
iframe.setAttribute('id', 'iframer');
document.body.appendChild(iframe);
setTimeout(
function() {
var e = document.getElementById("iframer");
var frameHTML = e.contentDocument; var serializer = new XMLSerializer(); var content = serializer.serializeToString(frameHTML); alert(content);
} , 30000);
}
</script>

最终结果显示在警报弹出窗口中:

    <html><script>var a=document.createElement('p');
a.innerHTML="hello world";
document.body.appendChild(a);​​​​​​​​​​​</script>
​​​​​​​​​​​​​​​​​​​​​​<body>
<p>testing 1 2 3....</p></body>
</html>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

这不是我要找的。我希望获取已在浏览器中呈现的如下内容,我需要获取所有呈现和生成的动态源代码仅用于检查,我如何编写代码以获取呈现的 HTML 源代码:

   <body>
<p>hello world</p>
<p>testing 1 2 3....</p>
</body>

最佳答案

为 IFrame 提供一个 id 属性。

contentDocument 对象实际上因浏览器而异。此外,出于安全原因,您只能获取同一域中 IFrame 的内容。

var IFrame_DOM;
var iframe = document.getElementById('iframer'); // The ID of the IFrame
if (iframe.contentDocument)
{
IFrame_DOM = iframe.contentDocument; // Get DOM in Chrome / Gecko
}
else if (iframe.contentWindow)
{
IFrame_DOM = iframe.contentWindow.document; // Internet Explorer
}
if (IFrame_DOM)
{
// Successfully got the DOM
// Use the DOM in code here
}
else
{
alert('Unsupported Browser. Couldn\'t read DOM.');
}

关于javascript - 如何找到 Iframe 页面呈现的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11623747/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com