Send variables from "browser_action" to "cont
Send variables from "browser_action" to "content_scripts"
我对Chrome扩展很陌生,我会尝试一下:
我将把JS变量从"browser_action"发送到"content_scripts"
"browser_action": {
"default_popup": "src/browser_action/index.html"
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["src/inject/inject.js"]
}
]
示例:如果…
src/browser_action/main.js:(browser_action)
var MyVar = "Hello world";
以及如何将MyVar
发送到src/inject/inject.js?喜欢
// What function I should do before to alert()?
if (typeof MyVar !== 'undefined') {
alert(MyVar);
}
如果你想从后台向内容脚本发送消息(或数据),你可以使用chrome.tables.sendMessage()。但你需要指定发送到哪个选项卡(使用tabId
)。你应该阅读扩展中的消息传递。
示例:
向所选选项卡中的内容脚本发送消息
main.js
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
chrome.tabs.sendMessage(tabs[0].id, {greeting: "hello"}, function(response) {
console.log(response.farewell);
});
});
在接收端,您需要设置一个chrome.runtime.oMessage事件侦听器来处理消息
inject.js:
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
if (request.greeting == "hello")
sendResponse({farewell: "goodbye"});
});
我用chrome.storage
#ref 做的
示例:
在manifest.json上添加"存储"权限
"permissions": [
"storage"
]
在main.js上(browser_action)
chrome.storage.sync.set({'user':{email:'hello@world.com'}});
注入.js时(content_scripts)
chrome.storage.onChanged.addListener(function(c,a){
chrome.storage.sync.get('user',function(o){
if(!$.isEmptyObject(o)){ // Check via jQuery function
// Do somethings...
console.log(o.user.email);
}
});
});
相关文章:
- 铬:“;未捕获的语法错误:意外的标记:"
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 使用“+="操作人员
- //而不是在src=“”上使用http://"属性
- "未捕获的语法错误:意外的标记}"
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- "实例范围”;TypeScript类的getter/setter
- Javascript复选框函数:;缺少:在属性id之后"
- "“;变量未引用正确的对象
- "日期“;AJAX请求返回的类型值未定义
- 得到"TypeError:无法读取属性'filename'未定义的“;调用“npm start
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- "工具提示"jQuery插件坏了
- "锻造;React中的表达式
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- 如何提取“;href"最近列表项中的属性值
- CKEditor如何允许href="javascript:void(0)"在小部件中
- 插入“;img src"在javascript中