如何在Chrome扩展程序/网站中的文件之间发送数据?

时间:2012-02-03 07:00:25

标签: google-chrome google-chrome-extension

所以,我有一个chrome扩展,可以为网站做各种事情。 我想做的是重写它,使其更清洁,更相关,所以我开始了。我有什么内容脚本,它是'infuse.js',它将另一个文件t3.js注入网站。

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

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

如果您知道任何事情,请告诉我。

1 个答案:

答案 0 :(得分:2)

在文档中有一些内容...... http://code.google.com/chrome/extensions/content_scripts.html#host-page-communication

另外,如果你想在注入时只将一些东西传递给t3.js,那么在注入t3.js之前你可以注入一些设置一些值的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