greeple
Gold Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Capushon Цитата: вот если надо будет нашёл то расширение в интернете https://www.upload.ee/files/14963361/Open_in_external_app.zip.html там и setup.exe в папке можно его как то посмотреть наверно, но как писали где то, антивирусы его малварем помечают, поэтому не вариант наверно использовать, но источник типа гитхаба я не нашел, скачал тут https://extpose.com/ext/561 Добавлено: Capushon Цитата: вроде так создаем манифест Код: { "name": "com.my_company.my_application", "description": "My Application", "path": "C:\\Program Files\\My Application\\chrome_native_messaging_host.exe", "type": "stdio", "allowed_origins": [ "chrome-extension://knldjmfmopnpolahpmmgbagdohdnhkik/" ] } | Windows Приложение должно создать ключ реестра HKEY_LOCAL_MACHINE\SOFTWARE\Google\Chrome\NativeMessagingHosts\com.my_company.my_application или HKEY_CURRENT_USER\SOFTWARE\Google\Chrome\NativeMessagingHosts\com.my_company.my_application, и установить в значении ключа по умолчанию абсолютный путь к файлу манифеста. Chrome запускает каждый нативный хост в отдельном процессе и взаимодействует с ним через стандартный ввод/вывод (stdin/stdout). Сообщения сериализуются в формате JSON, кодировка UTF-8, в начале сообщения 32битная длина, порядок байтов соответствует платформе. Когда используется runtime.connectNative, Chrome запускает нативный хост и держит его активным пока соединение не будет закрыто. Если используется runtime.sendNativeMessage, то браузер запускает новый процесс для каждого сообщения. От хоста в этом случае ожидается ответ на исходное сообщение, а все последующие сообщения, если таковые будут – игнорируются. Пример использования runtime.connectNative: Код: var port = chrome.runtime.connectNative('com.my_company.my_application'); port.onMessage.addListener(function(msg) { console.log("Received" + msg); }); port.onDisconnect.addListener(function() { console.log("Disconnected"); }); port.postMessage({ text: "Hello, my_application" }); | Пример использования runtime.sendNativeMessage: Код: chrome.runtime.sendNativeMessage('com.my_company.my_application', { text: "Hello" }, function(response) { console.log("Received " + response); }); | типа port.postMessage({ text: "Hello, my_application" }); или runtime.sendNativeMessage это отправка команды stdin или stdout (это я не понимаю), и вот если DM примет это, то вариант, если нет, то надо тогда свое приложение писать для такой работы, чтобы хром его вызывал и оно передавало ссылку в cmd, ну типа такого получается, видимо так и было в open in external app и +- так же в том которое через node js сделано | Всего записей: 5560 | Зарегистр. 11-02-2020 | Отправлено: 13:41 23-02-2023 | Исправлено: greeple, 14:08 23-02-2023 |
|