2016-10-02 59 views
0

對於Firefox,我有一個頁面,點擊瀏覽器圖標按鈕後加載到一個新選項卡中。該頁面的後臺腳本第一次運行正常,但不能在重新加載頁面時再次點擊該按鈕,並且已經打開一個標籤,或者在關閉標籤並打開另一個標籤後再次點擊該按鈕。我必須重新保存腳本,迫使擴展被卸載/重新加載才能正常運行。 我需要包含的清單中是否存在某些內容? 擴展後臺腳本不會加載,除非重新保存

manifest.json的

更新:我孤立我的問題在下面的代碼。刷新頁面或再次單擊瀏覽器動作按鈕時,執行會跳過xhr.onreadystate = function(),因此永遠不會到Main()。對於任何被請求/收到的東西,xhr.onreadystate不會改變。

更新2:執行使得一個傳遞給Main()中的三個。所有變量都保留了第一次運行的值,並且似乎正在搞砸。如何在重新加載頁面或單擊瀏覽器圖標後清除它們?

function GetData(request) 
 
{ 
 
    var xhr = new XMLHttpRequest(); 
 
    
 
    xhr.onreadystatechange = function() 
 
    { 
 
    console.log(xhr.readyState + " : " + xhr.status) 
 
    if (xhr.readyState == 4 && xhr.status == 200) 
 
    { 
 
     re_data = JSON.parse(xhr.responseText); 
 
     Main(); 
 
    } 
 
    } 
 
    
 
    xhr.open("GET", request, true); 
 
    xhr.send(); 
 
}

+0

否,* manifest.json中的內容不應導致您所描述的內容。我們需要一個* complete * [mcve]來知道發生了什麼(即包括你的* background.js *和* modify_page.js *文件,或者至少有足夠的重複這個問題。 – Makyen

回答

0

我想通了這個問題,並解決方案。我忘了一旦後臺腳本打開,它的延長期一直保持打開狀態。因此,這些變量不會被重置。無論需要重置的變量都必須手動重置。至於重新加載頁面,只有網頁被重新加載,而不是需要手動重新啓動的代碼(發送到適當的函數),以響應按鈕,鏈接或其他。

相關問題