var iframeDoc = iframe[0].contentDocument;var htmlContent = iframeDoc.documentElement.innerHTML;没获取到
时间: 2024-03-09 08:46:33 浏览: 11
如果你在获取 `iframeDoc` 对象时没有成功,有可能是因为加载 iframe 页面需要时间,而此时代码已经继续执行了,导致获取的 `iframeDoc` 对象为空。你可以使用 `$.get()` 方法的回调函数来确保在 iframe 页面加载完成后再获取 `iframeDoc` 对象。
修改代码如下:
```javascript
var iframe = $('<iframe>').appendTo('body');
$.get('iframe_page.html', function(data) {
iframe.attr('srcdoc', data);
$(iframe).on('load', function() {
var iframeDoc = iframe[0].contentDocument;
var htmlContent = iframeDoc.documentElement.innerHTML;
console.log(htmlContent);
});
});
```
这里使用了 `$(iframe).on('load', function() {})` 来确保在 iframe 页面加载完成后再执行获取 `iframeDoc` 对象和内部 HTML 内容的操作。