2017-03-17 2 views
0

私はbackground.js上で次の作業コードがあります。Chrome拡張機能の配列を保存する最適な方法は何ですか?

var targetList = ["youtube.com", "vimeo.com"]; 

for (var i = 0, n = targetList.length; i < n; i++) { 
    if (sender.tab.url.indexOf(targetList[i]) != -1) { 
     // do something 
    } 
} 

を現在targetListは唯一の2つの参照ですが、私はもっと多くをロードする必要があります。また、backgound.jsで2回使用する必要があります。

targetListを別々に保存し、必要に応じて参照するにはどうすればよいでしょうか?私のマニフェストに必要な変更は何ですか?

+0

?また、[for(of)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of)と[array.includes()]を使用することもできます(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes) –

+0

目標は、配列をより効率的に格納することです。[K3N](http://stackoverflow.com/users/1693593/k3n)フィードバックは私が必要なものです。 'for(of)'はうまく動作し、コードはもっときれいです、ありがとう!それ以来 'array.includes()'を使用することはできません。配列全体にURLを書く必要があります... – quackkkk

答えて

0

頻繁に使用するには、メモリを使用するだけです(または、バックグラウンドページに投稿して、必要に応じて返信します)。より恒久的な使用のためには、例えば、ローカルストレージに保存することができます:

chrome.storage.local.set({"targetList": targetList}); 

は、それを取得:

chrome.storage.local.get("targetList", callback); 

function callback(result) { 
    targetList = result.targetList; 
} 
正確に何をしようとする
+0

ガード@ K3N – quackkkk

関連する問題