2011-12-29 12 views
0

拡張機能にはbackground.htmlがあり、いくつかの情報が得られます。その後、javascriptファイル(app.js)でCSSが変更された別のWebページにリダイレクトされます。 これで、background.htmlの配列をそのjavascriptファイル(同じ拡張フォルダ内)に渡そうとしています。私はexampleを試しましたが、私は成功しませんでした。これどうやってするの?Chrome拡張機能内に配列を渡す

答えて

1

私は背景とJSファイルの間で前後に多くの情報を渡すために必要な拡張に取り組んでいたとき、私はそれがこの

const Background = chrome.extension.getBackgroundPage() 

、その後、いつでも私のようなVARを作成するのが最も簡単でしたバックグラウンドページの何かにアクセスする必要がありました。オペレーター。この

Background.foo() //access a function on background page. 
Background.my_var // access a variable on the background page. 
Background.my_array[0] // access the 0 index in your background array 

のような背景ページは、JSファイルで、単に使いやすくしたほとんどの時間だったかを知る必要はありませんでしたので:

popups[0].foo() 

それはで何かにアクセスするために必要な場合ポップアップまたはjsファイル。

+0

あなたの背景ページでこれを入れてください。私は明示的に "background_page": "background.html"を持っているので、なぜそれがその関数に渡されないのか分かりません。しかし、私はbackground.htmlでその関数を使用する場合、それは渡すが、私のjavascriptファイルではありません。 – Calado

+0

javascriptファイルをpopup.htmlページに追加しましたか? – Ryan

+0

これを行うと、Javascriptは既に実行されているようなので動作しません。 JSファイルにconst background = chrome.extension.getBackgroundPage();を入れます。 alert(background.token);私の拡張機能を実行すると、 "未定義"という警告が表示され、ページはまだリダイレクトページに到達していません。 – Calado

0

"chrome.extension.getBackgroundPage()は、" それは私のために働いていないということ

chrome.tabs.create({url: "http://yourdomain.com"}, function (tab){ 
    chrome.tabs.executeScript(tab.id, file: "app.js", function(){ 
     //This is a Callback 
    }); 
}); 
関連する問題