检查Chrome中的iframe内容是否发生了变化

时间:2014-04-09 03:48:34

标签: javascript google-chrome dom iframe

我正在做这样的事情:

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这是一个错误,但是近一年没有人处理过它

  • 我无法在Object.defineProperty()上使用iframe.contentWindow.document(javascript赢了也不允许)

  • 我不认为对iframe.contentWindow.document进行投票是一种理智的方式(是吗?)

那么......有什么方法我没有考虑过我能够/应该遵循的方式?

我想到的另一种方法是进行AJAX调用,然后在iframe上执行document.write()。但是,所有到Javascript,CSS等的链接都将被破坏 - 除非你能指出一种方法让它在不使用RegExp的情况下工作......?

注意:请忽略有关iframe安全性等的任何评论,因为这个问题的重点。此外,我无法更改已查看的页面...

0 个答案:

没有答案