在chrome中弹出窗口和内容脚本之间进行通信
Communicate between popup and content script in chrome
我试图建立一个chrome扩展,但我不能从弹出到内容脚本发送消息。请告诉我问题出在哪里。
弹出脚本代码:
$(document).ready(function(){
$('#button').click(function(){
chrome.tabs.query({active: true, currentWindow: true},function(tabs) {
chrome.tabs.sendMessage(tabs[0].id, {message: "hello"});
});
});
});
内容脚本代码:
chrome.extension.onMessage.addListener(
function(request, sender) {
alert("Contentscript has received a message from from background script: '" + request.message + "'");
});
这是明显的。json:
{
"manifest_version" : 2,
"name" : "First My Chrome Extension",
"version" : "0.0.1",
"description" : "The first web-app using chrome extension technology",
"icons" : {
"16" : "images/icon16px.png",
"48" : "images/icon48px.png",
"128" : "images/icon128px.png"
},
"background": {
"scripts": ["scripts/background.js"]
},
"browser_action" :{
"default_icon":{
"48" : "images/icon48px.png"
},
"default_title" : "Nghoangvutn",
"default_popup" : "popup.html"
},
"content_scripts":[
{
"matches":[
"<all_urls>"
],
"js" : [
"scripts/jquery.js",
"scripts/content.js"
]
}
],
"permissions" : [
"tabs",
"storage"
]
}
内容脚本代码应更新为使用以下方法chrome.runtime.onMessage.addListener
。注意从chrome.extension
到chrome.runtime
的变化。
chrome.runtime.onMessage.addListener(
function(request, sender) {
alert("Contentscript has received a message from from background script: '" + request.message + "'");
});
相关文章:
- 如何在弹出脚本到内容脚本之间发送消息并返回
- Firefox插件SDK:在侧边栏和主脚本之间通信对象
- 函数在两个或多个脚本之间进行访问
- 在这种特殊情况下,在PHP脚本之间传递值
- Chrome扩展:在后台页面和网站页面脚本之间进行通信的最佳方法
- 如何在Chrome扩展弹出窗口和内容脚本之间发送消息
- 从java脚本到C#的回调,C#和java脚本之间的异步编程
- 不了解插件和脚本之间的区别
- 原型:这两个脚本之间的区别
- 应用程序与 Web 视图中注入的脚本之间的通信
- 执行套件时脚本之间的超时 - 量角器非角度
- Chrome 扩展程序:无法让消息传递在后台脚本和内容脚本之间正常工作
- 在Chrome内容脚本和弹出脚本之间共享redux存储
- 带类型的<脚本>标记和不带类型的<脚本>之间的区别
- 使用jquery.on()方法处理同一元素(选项标记)的两个脚本之间的冲突
- 如何在Chrome扩展中的内容脚本之间重复使用代码
- 这些脚本之间的效率有差异吗
- 在两个独立的脚本之间共享变量
- chrome扩展中的可变范围,尤其是在背景页和内容脚本之间
- Chrome DevTools和扩展中的内容脚本之间的通信