Очень специфическая ошибка надстройки Microsoft Outlook (Windows 10 версии 1903)

#xml #outlook #windows-10 #outlook-web-addins

#xml #outlook #windows-10 #outlook-web-addins

Вопрос:

Я столкнулся со странной проблемой надстройки, специфичной только для собственного Outlook, работающего в Windows версии 1903. Наша надстройка отлично работает для встроенного Outlook, работающего в версиях Windows, более поздних, чем 1903.

Проблема в том, что когда вы открываете нашу веб-надстройку в собственном Outlook, вы должны иметь возможность щелкнуть div, который запускает сетевой запрос, а затем изменяет состояние приложения в React. Фактическое поведение заключается в том, что сетевой запрос не запускается, и состояние не изменяется. Опять же, это поведение отлично работает в версиях Windows 10 более поздних, чем 1903.

Я попытался зарегистрировать поведение с помощью DevTools Microsoft Edge, но единственная ошибка, которую я вижу, находится XML5632: Only one root element is allowed. на index.html (1,1). Это единственный вывод надстройки, который я вижу — ни один из моих журналов консоли фактически не отображается в консоли. введите описание изображения здесь

Я предполагаю, что, возможно, механизм рендеринга JavaScript, отвечающий за запуск веб-надстроек Microsoft в собственном Outlook для Windows версии 1903, не основан на Chromium, поэтому ошибка в том, как механизм рендеринга JavaScript (pre-Chromium Edge?) Интерпретирует XML и / или JS, Но, опять же, этопросто предположение.

Я пробовал несколько способов, в том числе удаление <?xml version="1.0"?> тега в верхней части manifest.xml файл и настройка некоторых параметров xmlbuilder.create() функции, которые мы используем для создания XML-файла, безрезультатны.

Для генерации используется модуль узла xmlbuilder manifest.xml , но пока я не обнаружил никаких проблем с ним.

В любом случае, я был бы признателен, если у кого-либо, кто сталкивался с этой проблемой раньше, есть какие-либо идеи, предложения, исправления или обходные пути, потому что на данный момент я полностью застрял.

Комментарии:

1. Мы можем воспроизвести ошибку XML5632 в наших собственных примерах надстроек, однако мы по-прежнему можем выполнять сетевой вызов AJAX, поэтому возможно, что эта ошибка не связана с неспособностью вашей надстройки выполнять сетевые вызовы. Можете ли вы упростить свою надстройку, удалив React и просто выполнив AJAX-вызов общедоступной конечной точки, чтобы проверить, работает ли это?

2. Узнав, что механизм рендеринга JS / HTML, используемый в Windows 1903, — это IE, мы смогли получить дополнительную информацию об отладке, включив отладку JavaScript в IE . Проблема в нашем случае, похоже, скорее связана с несовместимостью ES6 / IE, чем с проблемой XML. В частности, функция arrow в одном из наших node_modules неправильно переносится во время сборки.

Ответ №1:

В этом сообщении о надстройках Microsoft Edge WebView для Office описывается, какие версии Office и Windows поддерживают Edge WebView (и предыдущие версии будут использовать IE для управления веб-просмотром).

В версиях Windows до 1903 года использовался движок HTML / JS — Internet Explorer. После 1903 года он использует pre-chromium Edge (также зависит от версии Office).

Вероятно, ваш код использует что-то, с чем IE несовместим. Вы можете отлаживать iexplore.exe непосредственно в режиме скрипта с помощью Visual Studio. Также может помочь убедиться, что флажок «Отключить отладку скриптов» не установлен, а также установлен флажок «Отображать уведомление о каждой ошибке скрипта». Откройте IE -> Инструмент -> Свойства обозревателя -> вкладка Дополнительно.