chrome扩展:跨域存储和访问更大的字符列表

时间:2013-09-25 19:57:59

标签: google-chrome google-chrome-extension local-storage

我正在编写我的第一个chrome扩展程序。这就是我想要做的事情:

扩展名应该让学习汉字变得更容易。想法是用户可以在一个网站上突出显示他已经知道的中文字符,然后当他从另一个域访问另一个网站时,他之前标记的所有字符都会突出显示。(因此字符列表应该是持久的,大约最多1000个字符) ;

我使用了内容脚本,数组和localStorage:

localStorage.hanzimarker= JSON.stringify(characterlist);

但是由于安全策略,它不适用于不同的网站。因为每个域都在本地存储上(如果我将网页保存到本地文件系统或它所使用的相同域的页面)。

有解决方法吗?也许使用背景页面的本地存储?我的第一个想法是将字符列表写入文本文件并稍后解析,但我也不允许这样做。或者是否有其他类型的存储没有此限制?

1 个答案:

答案 0 :(得分:0)

如果有人遇到同样的问题: rsanchez的提示是正确的: 使用http://developer.chrome.com/extensions/storage.html

var storage = chrome.storage.local;
default_list = ['a','b','c'];

storage.set({'test':default_list},function(){
    console.log('test written');
});
storage.get('test', function(content){

    console.log('test read content', content.test);
});

与localstorage不同,它是异步的,因此您必须在我的示例中放置一个回调,其中console.log调用。 它适用于对象。