所以我的网页上没有执行的脚本只能在扩展程序中工作,
document.getElementById("test").addEventListener("click", function () {
var e = document.getElementById("exe");
var strUser = e.options[e.selectedIndex].value;
if (strUser == "note") {
chrome.extension.connectNative('note');
}
if (strUser == "calc") {
chrome.extension.connectNative('calc');
}
});
我理解逻辑,但我缺乏经验。据我所知,我需要通过消息传递将我的脚本功能传递到html
页面,但我不能这样做。我没有clue.eq
答案 0 :(得分:0)
chrome.extension
毫不奇怪,仅适用于扩展程序代码。顺便说一下,你应该真正使用chrome.runtime.connectNative
,但同样适用。
您有两个广泛的选择:
在页面中添加content script,让它添加点击侦听器,然后将请求传递到您的后台页面。内容脚本可以与您的后台进行通信,但无法自行执行connectNative
。
如果是针对固定网站,您可以让网站本身向扩展程序的后台页面发送消息。这使用externally_connectable
,并解释为here。
同样,您需要一个background script(在event script上)来处理启动某些内容的请求,因为这是唯一能够(1)获得特权的内容要做到这一点,(2)始终可以处理请求。