我正在做这样的事情:
var samePath = "http://www.example.com";
function iframeLoaded(){
console.log( iframe.contentDocument.innerHTML );
iframe.src = samePath;
}
iframe.onload = loaded;
不幸的是,这真的很慢:加载过程等待附加到iframe的所有内容都已实际加载。
现在:
我无法使用DOMContentLoaded
,因为一旦我设置了iframe.src,它就会花费一段时间" Chrome创建一个新的iframe.contentDocument
对象,我无法可靠地将事件附加到它(除非我开始轮询......这会更糟糕)。
我无法使用DOMFrameContentLoaded
,因为Chrome并没有解雇它(呃):https://bugs.webkit.org/show_bug.cgi?id=33604这是一个错误,但是近一年没有人处理过它1} p>
我无法在Object.defineProperty()
上使用iframe.contentWindow.document
(javascript赢了也不允许)
我不认为对iframe.contentWindow.document进行投票是一种理智的方式(是吗?)
那么......有什么方法我没有考虑过我能够/应该遵循的方式?
我想到的另一种方法是进行AJAX调用,然后在iframe上执行document.write()。但是,所有到Javascript,CSS等的链接都将被破坏 - 除非你能指出一种方法让它在不使用RegExp的情况下工作......?
注意:请忽略有关iframe安全性等的任何评论,因为不这个问题的重点。此外,我无法更改已查看的页面...