Javascript Chrome扩展本机消息主机立即断开连接
我试图让我的chrome扩展通过本机消息传递运行bash脚本,但主机应用程序只是立即断开连接。如果有人能帮我,那就太好了,因为我已经试着让它工作了好几个小时了。当我从contentScript收到消息时,它会立即显示disconnected。我没有收到任何错误消息或任何东西,谷歌的文档对此非常糟糕。如果你能帮助我,谢谢你 这是我的background.jsJavascript Chrome扩展本机消息主机立即断开连接,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我试图让我的chrome扩展通过本机消息传递运行bash脚本,但主机应用程序只是立即断开连接。如果有人能帮我,那就太好了,因为我已经试着让它工作了好几个小时了。当我从contentScript收到消息时,它会立即显示disconnected。我没有收到任何错误消息或任何东西,谷歌的文档对此非常糟糕。如果你能帮助我,谢谢你 这是我的background.js var port; chrome.runtime.onInstalled.addListener(function() { chrom
var port;
chrome.runtime.onInstalled.addListener(function() {
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
chrome.tabs.executeScript(tab.ib, {
file: 'contentScript.js'
});
})
});
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
runScript();
});
function runScript() {
port = chrome.runtime.connectNative("crashFixingtonNative")
port.onDisconnect.addListener(function() {
console.log("Disconnected");
});
}
这是我的manifest.json(用于扩展名)
本机消息传递协议要求本机应用程序实现文档中描述的特定二进制协议。这不仅仅是一个bash管道。好吧,我只想运行脚本。我甚至不需要任何返回值。我如何让它运行我的脚本?我找不到此二进制协议的任何文档。文档:另请参阅:。本机消息传递并没有真正帮助我,但loggin可能会帮助我。我会查的,谢谢。
{
"name" : "Crash Fixington",
"version" : "1.0",
"description" : "----",
"permissions": ["tabs",
"activeTab",
"<all_urls>",
"nativeMessaging"],
"background" : {
"scripts" : ["background.js"],
"persistent" : true
},
"manifest_version": 2
}
(function() {
var orderIdList = document.getElementsByClassName(" nowrap avoid-wrap");
for (var i = 0; i < orderIdList.length; i++) {
var a = document.createElement("a");
a.setAttribute('href', ''); // gives link standard look
a.addEventListener("click", function() {
requestRunScript();
window.event.preventDefault();
}, false);
a.textContent = orderIdList[i].textContent;
orderIdList[i].replaceWith(a);
}
})();
function requestRunScript() {
chrome.runtime.sendMessage({
greeting: ""
},
function(response) {});
}
{
"name": "crashFixingtonNative",
"description": "crashFixingtonNative",
"path": "/Library/Google/Chrome/NativeMessagingHosts",
"type": "stdio",
"allowed_origins": [
"chrome-extension://pfahbpdkjhgfjelhmbkedlcbbkpeiehk/"
]
}