2017-03-17 42 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只有兩個引用,但我需要裝載很多。另外,我需要在我的backgound.js上使用它兩次。

什麼是存儲targetList seperatly和借鑑它需要的時候最好的方法是什麼?我的manifest.json中有必要進行任何更改?

+0

究竟是你想做些什麼?此外,您還可以使用[進行(的)(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()'從那時起,我不得不寫我數組對整個網址... – quackkkk

回答

0

頻繁使用只需要使用內存(或郵寄到後臺頁面,在需要時發回)。欲瞭解更多永久使用,你可以在本地存儲中存儲例如:

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

然後檢索:

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

function callback(result) { 
    targetList = result.targetList; 
} 
+0

感謝您的指導@ K3N – quackkkk

相關問題