如何从网页与扩展程序的后台脚本进行通信

时间:2017-08-07 13:02:38

标签: javascript google-chrome-extension

当我点击浏览器操作按钮时,我制作了一个Chrome扩展程序,可以打开Windows计算器。现在,我尝试通过点击使用JavaScript代码在网页上启动扩展程序。



<!doctype html>  
<html>  
    <head><title>activity</title></head>  
<body>  
    <button id="clickactivity" onclick="startextension()">click</button>  
    <script>
	
	function startextension(){
		//run/start the extension
	}
	
	</script> 
</body>
</html>  
&#13;
&#13;
&#13;

这是我的 background.js 代码:

chrome.browserAction.onClicked.addListener(function(){
    chrome.extension.connectNative('com.rivhit.calc_test');
});

有什么办法吗?

1 个答案:

答案 0 :(得分:0)

这是通过消息传递完成的。因此,您的网页可以发送消息:

chrome.runtime.sendMessage({greeting: "hello"}, function(response) {
 console.log(response.farewell);
});

您的扩展程序可以收听它:

chrome.runtime.onMessage.addListener(
 function(request, sender, sendResponse) {
   console.log(sender.tab ?
            "from a content script:" + sender.tab.url :
            "from the extension");
if (request.greeting == "hello")
  sendResponse({farewell: "goodbye"});
});

来源:https://developer.chrome.com/extensions/messaging