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

时间:2012-04-11 08:02:10

标签: javascript window document

window.document经常变得安静,例如,当你从一个url移动到另一个url或者你调用document.reload(true)时;

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

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

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:0)

如果您要定位当前浏览器而不关心旧版支持,请查看历史记录API,因为它允许您向用户显示转到新页面(地址栏中的URL更改并返回

在此处查看演示:http://html5demos.com/history

在此处详细了解:https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history