[英]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.