2012-02-03 70 views
1

所以,我有一个Chrome扩展,可以为网站做各种事情。 我想要做的是重写它,使其更清洁和更相关,所以我开始了。我有什么内容脚本,它是'infuse.js',它将另一个文件t3.js注入到网站中。如何在Chrome扩展程序/网站中的文件之间发送数据?

我的问题是 - 有没有办法将数据从localStorage传递到t3.js?

我有sendRequest和响应设置,所以infuse.js可以读取存储,但是,如果我尝试从t3.js执行sendRequest,它显然会因未定义而出现,因为它不是内容脚本,因此无法访问API。

让我知道你是否知道任何事情。

回答

2

有一些关于这方面的文档.... http://code.google.com/chrome/extensions/content_scripts.html#host-page-communication

另外,如果你想传递的东西,只有当其注射一次t3.js,那么你可以注入一些JS,设置一些值,在注入t3.js之前

settings={1:"something'set'",2:["blek",1,2,3]}; //Youd get these from localStorage or something 

head = document.getElementsByTagName('head')[0], 
script = document.createElement('script'); 

script[script.innerText ? 'innerText' : 'textContent'] = 'var settings=' + JSON.stringify(settings)+ ';'; 

head.appendChild(script); 

//Then inject t3.js 
+0

对不起,我忘记了我曾经问过这个,而那正是我设法想出来的。我不记得我是否找到它,或者自己写了,但感谢您的快速回答! – 2012-06-19 05:43:52

相关问题