Google appscript не распознает Edge на основе Chromium

Я пытаюсь обнаружить браузер Edge на основе Chromium в надстройке Google Slides.

Code.gs

function onInstall(event) {
    onOpen(event);
}

function onOpen(event) {
    SlidesApp.getUi().createAddonMenu()
        .addItem('Open the sidebar', '_showSidebar')
        .addToUi();
    _showSidebar();
}

function _showSidebar() {
    var ui = HtmlService
        .createHtmlOutputFromFile('index')
        .setTitle('Test add-on');
    SlidesApp.getUi().showSidebar(ui);
}

index.html

<html>
  <head>
    <base target="_top">
    
    <script>
       const onButtonClick = () => {
         console.log(window.navigator.userAgent);
       }
    </script>
  </head>
  <body>
    <button onclick="onButtonClick()">Click me</button>
  </body>
</html>

Нажав на кнопку в журналах боковой панели для консоли:

5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36

Но когда я вручную набираю window.navigator.userAgent, журнал консоли браузера выглядит иначе (Edg/84.0.522.49 отсутствует):

5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36 Edg/84.0.522.49

comment
Мой MS Edge 85.0.564.44 больше не переопределяет строку UA в домене docs.google.com. Mozilla / 5.0 (Windows NT 10.0; Win64; x64) AppleWebKit / 537.36 (KHTML, например, Gecko) Chrome / 85.0.4183.83 Safari / 537.36 Edg / 85.0.564.44   -  person Jozef Izso    schedule 05.09.2020
comment
Я протестировал свой код на последней версии Edge (MS Edge 85.0.564.44), и он работает :)   -  person tprieboj    schedule 05.09.2020
comment
Расширение, вот и мы!   -  person Jozef Izso    schedule 05.09.2020


Ответы (1)


Основная проблема заключается в том, что ваш аддон / боковая панель Google Slides работает внутри iframe, размещенного на docs.google.com.

Новый браузер Microsoft Edge на основе Chromium переопределяет User-Agent на некоторых сайтах для максимальной совместимости. Если вы откроете edge://compat/useragent в своем Edge, вы увидите, что docs.google.com указан в этом списке переопределений пользовательского агента: введите описание изображения здесь

Чтобы отключить функцию переопределения пользовательского агента, вы можете запустить исполняемый файл Microsoft Edge, используя следующий аргумент командной строки: --disable-domain-action-user-agent-override

person Dominik Palo    schedule 31.07.2020