2017-03-17 36 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

相关问题