У меня есть консольное приложение Windows и упакованное приложение Chrome, с которым я пытаюсь установить двустороннюю связь. Я следовал их примеру с приложением Python, но мне не повезло.
Я предпринял следующие шаги:
Создал эту запись в моем реестре в HKEY_LOCAL_MACHINE\SOFTWARE\Google\NativeMessagingHosts: my.app.name : c:\path\to\my.app.name.json
Я создал файл json в этом месте: { "name": "my.app.name", "description": "Chrome Native Messaging API", "path": "c:\path\to\my.app .name\consoleApp.exe", "type": "stdio", "allowed_origins": [ "chrome-extension://offmjeicniagcebcbclkdlkllfibllfh/" ] }
Я добавил следующее в свой упакованный скрипт приложения:
function connect() { var hostName = "my.app.name"; appendMessage("Connecting to native messaging host <b>" + hostName + "</b>") port = chrome.runtime.connectNative(hostName); port.onMessage.addListener(onNativeMessage); port.onDisconnect.addListener(onDisconnected); } function appendMessage(text) { document.getElementById('messages').innerHTML += "<p>" + text + "</p>"; } function onNativeMessage(message) { appendMessage("Received message: <b>" + message + "</b>"); } function onDisconnected() { appendMessage("Failed to connect: " + chrome.runtime.lastError.message); port = null; }
Когда я нажимаю кнопку, которая вызывает функцию подключения, я получаю эту ошибку:
"Указано недопустимое имя собственного узла обмена сообщениями"
Я пытался играть с этим всеми возможными способами, но не так много документации или примеров кода (почти нет). У кого-нибудь есть идеи?
Благодарность