[英]javascript code of my firefox extension keeps reloading the page uncontrolablly
我正在尝试创建Firefox附加组件/扩展名,以在特定页面的URL末尾添加一个参数,并使用添加了参数的新URL重新加载页面。
以下代码的问题在于,它确实添加了参数,但始终无法控制地重新加载新页面
初始网址 https://www.example.com/questions/foo/bar
分页后重新加载了更改的URL https://www.example.com/foo/bar?abcd=1
的script.js
var url = window.location.href;
if (url.indexOf('?') > -1){
window.stop()
}else{
url += '?abcd=1'
}
window.location.href = url;
的manifest.json
{
"manifest_version": 2,
"name": "some name",
"version": "1.0",
"description": "some description",
"icons": {
"48": "icons/explore-48.png"
},
"content_scripts": [
{
"matches": ["*://www.example.com/*"],
"js": ["script.js"]
}
]
}
注意 :我确实尝试了一些从Stackoverflow针对相同场景找到的示例
JavaScript不会等待整个if
语句执行之后再继续执行后续操作,因此url
的值在重新加载页面之前永远不会改变。 要解决此问题,只需移动window.location.href = url;
进入您的else
,就像这样:
var url = window.location.href;
if (url.indexOf('?') > -1) {
window.stop()
} else {
url += '?abcd=1'
window.location.href = url;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.