检测URL更改(无窗口卸载)

Kev*_*ang 5 javascript ajax url google-chrome-extension

我想在"更改URL之前"事件中添加一个侦听器,并可以访问旧URL.window.onbeforeunload如果页面没有重新加载(AJAX驱动的页面),则不会触发.

例如,当您单击右侧导航栏中的其他视频时,会在YouTube视频页面上发生这种情况.

我看过这篇民意调查的帖子window.location.但这不会捕获旧的URL.

这适用于Chrome扩展程序.我正在寻找一种方法来检测javascript中的URL更改之前.

Rya*_*Dao 2

如果您正在编写 Chrome 扩展程序,则可以侦听onUpdated选项卡 URL 更改时触发的事件。更多信息请参见https://developer.chrome.com/extensions/tabs.html#event-onUpdated

  • 然后您可以使用问题中提到的轮询“window.location”的方法。要访问旧的 url,只需将其保存为全局变量,或将其保存到 localStorage。YouTube 使用 History API,因此在导航到另一个视频时不会重新加载您的内容脚本。 (2认同)