2016-11-18 9 views
-1

EDIT background.jsファイル内のAPIサービスを呼び出すChrome拡張機能background.jsはリロード

マイChromeの拡張機能を提出し、私は、データを取得することができます。しかし、ブラウザウィンドウを閉じた後、私は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:// sample-api-callはユーザーCookieに基づいてデータを取得します。 –

答えて

1

です。あなたが代わりに行うべきことは、ユーザのログイン時にgetTaxonomyListを再度実行するように、background.jsにコンテンツスクリプトを伝えることです。

background.js:

chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) { 
    if (request.userLoggedIn) { 
     getTaxonomyList().done(function(list) { 
      sendResponse(list); 
     }); 
    } 
}) 
関連する問題