javascript 我的 firefox 扩展的代码总是无法控制地重新加载页面
javascript code of my firefox extension keeps reloading the page uncontrolablly
我正在尝试创建一个 Firefox add-on/extension 以将参数添加到特定页面的 URL 末尾,并使用添加了参数的新 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"]
}
]
}
注意 :我确实尝试了几个从 Whosebug
找到的相同场景的示例
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;
}
我正在尝试创建一个 Firefox add-on/extension 以将参数添加到特定页面的 URL 末尾,并使用添加了参数的新 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"]
}
]
}
注意 :我确实尝试了几个从 Whosebug
找到的相同场景的示例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;
}