Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在地址栏中的URL更改Firefox JPM时获得通知_Javascript_Firefox Addon_Firefox Addon Sdk - Fatal编程技术网

Javascript 如何在地址栏中的URL更改Firefox JPM时获得通知

Javascript 如何在地址栏中的URL更改Firefox JPM时获得通知,javascript,firefox-addon,firefox-addon-sdk,Javascript,Firefox Addon,Firefox Addon Sdk,在使用新的SDK/JPM开发Firefox插件时,是否可以检测URL是否发生更改 我想检测的不是hashchange,而是URL的任何更改,比如ajax请求更改搜索词之类的 这是一种方法吗?谢谢。我想出了一个解决方案,其中包括结合使用和旧位置值检查 基本上,我在location.href上实现了一个值检查,但是使用了一个MutationObserver来检测DOM中的更改,而不是使用一个会破坏性能并浪费宝贵毫秒的间隔 谢谢你的贡献。希望这对任何人都有帮助。您可以使用一个时间间隔来检查位置是否与上

在使用新的SDK/JPM开发Firefox插件时,是否可以检测URL是否发生更改

我想检测的不是hashchange,而是URL的任何更改,比如ajax请求更改搜索词之类的


这是一种方法吗?谢谢。

我想出了一个解决方案,其中包括结合使用和旧位置值检查

基本上,我在location.href上实现了一个值检查,但是使用了一个MutationObserver来检测DOM中的更改,而不是使用一个会破坏性能并浪费宝贵毫秒的间隔


谢谢你的贡献。希望这对任何人都有帮助。

您可以使用一个时间间隔来检查位置是否与上一次检查相比发生了更改。这会消耗资源。应该有更好的办法。就像你钩住事件加载或类似的东西一样。没错,但是你会如何处理在没有任何加载或其他事件的情况下操纵url的任意Javascript呢?这就是我想要弄明白的。如果URL更改时触发了一个事件,比如hashchange事件,或者如果我可以捕获javascript ajax请求,那么正常的.ajaxComplete调用无法捕获这些请求。我一直在研究MutationObserver,将它们与DOM更改挂钩,但它们似乎并不总是有效。我认为间隔函数将是处理所有可能更改浏览器位置的方法的最佳/唯一选项。祝你好运,找到另一个选择。顺便说一句,我不认为轮询url并将其与之前的结果进行比较会对性能产生太大影响,只要您保持适当的间隔时间,即50ms-100ms就可以了