簡體   English   中英

我的firefox擴展程序的javascript代碼使頁面無法重新加載

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM