Office.js Word - window.external.RegisterEvent не является функцией - PullRequest
0 голосов
/ 31 мая 2018

Я занимаюсь разработкой надстройки Word 2016 и получил сообщение от клиента (зарегистрировано через Sentry ), что у меня возникли проблемы с воспроизведением.Это произошло в диалоговом окне в macOS Sierra 10.12.6 в Word 16.11.

window.external.RegisterEvent is not a function.
(In 'window.external.RegisterEvent(n,t,i,r)', 'window.external.RegisterEvent' is undefined)

Ошибка возникла из сценария API слова https://appsforoffice.microsoft.com/lib/1/hosted/word-mac-16.00.js и, глядя на код отладки на Github, похоже,из этой строки .

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

Заранее спасибо.Я с радостью предоставлю дополнительную информацию, если потребуется.

ПРИМЕЧАНИЕ : Эта ошибка произошла во время процесса проверки отправки надстройки, что привело к ошибочной отправке - отсюда и необходимость отследить источник.

1 Ответ

0 голосов
/ 07 июня 2018

Я сообщил об этой проблеме здесь https://github.com/OfficeDev/office-js/issues/97, которая была связана с диалоговым API.Кажется, что window.external.registerEvent отсутствует в диалоге на Mac.Я мог бы исправить это следующим хаком, который должен вызываться после office.js.Может быть, у вас та же проблема.

const isMac = !!navigator.platform && 
navigator.platform.toUpperCase().indexOf('MAC') >= 0;

if (isMac && window.external && !window.external.RegisterEvent) {
    window.external.RegisterEvent = () => { };
}
...