Собственный узел обмена сообщениями в браузере Edge - PullRequest
0 голосов
/ 17 февраля 2020

Новая программа Microsoft Edge теперь открыта для принятия расширений на основе хрома для нового Microsoft Edge (версия 77 или выше). Я протестировал расширение chrome в браузере Edge, и оно устанавливается в браузере Edge. Я пытаюсь повторно использовать собственный хост в браузере Edge, который разработан для браузера Chrome. Но почему-то это не работает.

У кого-нибудь есть идеи о том, как поддержать собственный хост chrome в браузере Edge? или мне нужно реализовать собственный хост с помощью UWP?

Я попытался установить связь с собственным хостом из моего расширения Edge, но получил «Unchecked runtime.lastError: Указанный собственный хост обмена сообщениями не найден». Ошибка. код из. js file

var hostname = "com.microsoft.edge.myExtension";
port = chrome.runtime.connectNative(hostname);

Файл манифеста (com.microsoft.edge.myExtension. json) для моего собственного хоста

    "name": "com.microsoft.edge.myExtension",
    "description": "My Native Host",
    "path": "C:\\EdgeNativeHost.exe",
    "type": "stdio",
    "allowed_origins": [
        "extension://pbdancjikoidhjcgkfpipggnhlackjpe/"
    ]
}

Добавлен раздел реестра при запуске оболочки команда

REG ADD "HKCU\Software\Microsoft\Edge\NativeMessagingHosts\com.microsoft.edge.myExtension" /ve /t REG_SZ /d "C:\com.microsoft.edge.myExtension.json" /f

Пожалуйста, дайте мне знать, что со мной не так?

1 Ответ

0 голосов
/ 18 февраля 2020

Расширения, написанные для Chromium, в большинстве случаев работают на Microsoft (Chromium) Edge с минимальными изменениями. Вы можете обратиться к этому руководству о том, как перенести расширение Chrome на Microsoft (Chromium) Edge.

Вы должны проверить, использовали ли вы следующие API расширения, которые не поддерживаются Microsoft Edge:

API расширения и ключи манифеста, поддерживаемые Chrome, совместимы по коду с Microsoft (Chromium) Edge. Однако Microsoft Edge не поддерживает следующие API расширений:

  • chrome.gcm
  • chrome.identity.getAccounts
  • chrome.identity.getAuthToken
  • chrome.identity.getProfileUserInfo
  • chrome.instanceID

Вам также следует переименовать расширение для Microsoft Edge, если вы используете Chrome в названии или описании вашего добавочного номера.

Для собственного хоста обмена сообщениями следует особо отметить:

Если ваше расширение обменивается сообщениями с собственным приложением, используя chrome.runtime.connectNative API, убедитесь, что вы установили allowedorigins - "extension://[Microsoft-Catalog-extensionID]" в вашем файле манифеста хоста обмена сообщениями. Это позволяет приложению идентифицировать расширение.

Для получения дополнительной информации вы можете обратиться к этой статье . Расположение собственного узла обмена сообщениями также немного отличается от Chrome Extension. Google\Chrome в разделе реестра должно быть Microsoft\Edge.

...