多层iframe嵌套如何读取数据
时间: 2023-07-06 19:21:08 浏览: 150
多个iframe 获取 值
4星 · 用户满意度95%
多层iframe嵌套读取数据的方法与单层iframe嵌套类似,需要使用JavaScript获取iframe的内容。但是在多层嵌套的情况下,需要递归获取每个嵌套的iframe的内容。
以下是一个示例代码,可以递归获取多层嵌套的iframe的内容:
```javascript
function getIframeContent(iframe) {
var content = '';
if (iframe.contentDocument) {
content = iframe.contentDocument.body.innerHTML;
} else if (iframe.contentWindow) {
content = iframe.contentWindow.document.body.innerHTML;
} else if (iframe.document) {
content = iframe.document.body.innerHTML;
}
if (content.indexOf('<iframe') !== -1) {
var iframes = iframe.getElementsByTagName('iframe');
for (var i = 0; i < iframes.length; i++) {
content += getIframeContent(iframes[i]);
}
}
return content;
}
```
在使用时,可以传入最外层的iframe元素,即可递归获取所有嵌套的iframe的内容:
```javascript
var outerIframe = document.getElementById('outer-iframe');
var content = getIframeContent(outerIframe);
console.log(content);
```
注意:由于涉及跨域问题,有些情况下无法获取嵌套iframe的内容。
阅读全文