2016-11-18 207 views
-1

編輯Chrome擴展background.js文件重新加載

我的Chrome分機呼叫在background.js文件的API服務,我可以得到的數據。但關閉瀏覽器窗口後,我不能從background.js文件API服務獲取數據。它顯示空值。當轉到chrome:// extensions /並重新加載擴展名時,我可以獲取數據。

當關閉瀏覽器窗口,獲取的數據被複位,當打開瀏覽器,數據未取。只有在重新加載擴展後才能從api獲取數據。

爲什麼發生得如此。有沒有人對此有所瞭解?

這是我的manifest.json文件

{ 
    "manifest_version": 2, 
    "icons": { 
    "16": "images/icon16.png", 
    "32": "images/icon32.png", 
    "48": "images/icon48.png", 
    "128": "images/icon128.png" 
    }, 
    "name": "Test", 
    "short_name": "Test", 
    "description": "Test", 
    "version": "3.0.0", 
    "background": { 
    "scripts": [ 
     "build/background-bundle.js" 
    ] 
    }, 
    "browser_action": { 
    "default_popup": "popup.html" 
    }, 
    "permissions": [ 
    "tabs", 
    "cookies", 
    "storage", 
    "activeTab", 
    "http://*/", 
    "https://*/" 
    ], 
    "content_scripts": [{ 
    "matches": [ 
     "<all_urls>" 
    ], 
    "js": [ 
     "build/content-bundle.js" 
    ], 
    "run_at": "document_end" 
    }], 
    "options_ui": {  
    "page": "options.html", 
    "chrome_style": true 
    }, 
    "content_security_policy": "script-src 'self' https://www.google-analytics.com/analytics.js https://api.algorithmia.com/v1/algo/algo://nlp/SummarizeURL/0.1.1; object-src 'self'" 
} 
+0

什麼是 「下一個版本」 上面的意思? – Joe

+0

並在上面你「通過基於用戶登錄ID」 – Joe

+0

下一個版本的其他一些數據意味着 - 擴展的下一個版本的https://樣品-API的調用將獲取基於用戶的cookie中的數據。 –

回答

1

基於比重新打開瀏覽器或手動重新裝入擴展以外的任何其他您不能重新加載背景文件。你應該不是做的是有一個內容腳本告訴background.js當用戶登錄情況再次運行getTaxonomyList

background.js:

chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) { 
    if (request.userLoggedIn) { 
     getTaxonomyList().done(function(list) { 
      sendResponse(list); 
     }); 
    } 
}) 
相關問題