window.location.href更改时的事件我正在为一个网站编写Greasemonkey脚本,该脚本在某些时候会修改location.href。如何在页面上进行更改window.addEventListener时获得事件(通过或类似的东西)window.location.href?我还需要访问指向新/修改的URL的文档的DOM。我已经看到了其他涉及超时和轮询的解决方案,但我想尽可能避免这种情况。
3 回答
SMILET
TA贡献1796条经验 获得超4个赞
当活动历史记录条目更改时,将触发popstate事件。[...] popstate事件只能通过执行浏览器操作来触发,例如单击后退按钮(或在JavaScript中调用history.back())
因此,在使用时收听popstate
事件并发送popstate
事件history.pushState()
应该足以对href
变更采取行动:
window.addEventListener('popstate', listener);const pushUrl = (href) => { history.pushState({}, '', href); window.dispatchEvent(new Event('popstate'));};
添加回答
举报
0/150
提交
取消