JavaScript。如何检测window.document何时发生变化?

标签 javascript window document

window.document 经常会悄无声息地发生变化,例如,当您从一个 url 移动到另一个 url 时,或者当您调用 document.reload(true); 时

文档本身有一个完美的readyState和一个readystatechange事件来跟踪任何更改。但是,如果您将 addEventListener 放入文档中以处理 readState 事件,并且文档被更新,则 addEventListener 将不再存在,并且该方法将永远不会被调用。

所以我喜欢每次在窗口对象中更新文档时都附加一个。那么有没有办法检测到呢?

最佳答案

您必须在每个网页中都存在自己的 javascript,以便脚本可以在加载每个页面时重新安装事件处理程序,或者您必须从可以监视每个页面的浏览器插件中执行此操作已加载。

根据定义,加载新页面时,页面中的所有脚本都会被清除,因此一个页面中的脚本不可能保留到下一页中。

另一个想法:如果所有感兴趣的页面都在同一个域和您的域上,则可能有一个父框架定期监视子框架并在每次文档更改时不断重置其上的事件处理程序。但是,由于同源策略的安全限制,这只有在所有帧都位于同一域上时才有效。

关于JavaScript。如何检测window.document何时发生变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10102088/

相关文章:

java - JTextArea 占用大量内存

jquery - 为什么 $(document).height() 与 $(document.body).height() 不同?

javascript - 如果类不在 <pre> 标记内,则将类添加到 <code> 标记

javascript - Google Sheets API 返回 404

javascript - 关闭窗口 - 如何确定窗口是如何打开的?

c++ - 从 Spy++ 窗口获取文本

java - 条形码的文本与我用来生成它的文本不同

JavaScript 将命名函数分配给变量

javascript - D3 单调插值导致小循环

php - 打开带有动态内容的窗口