Как открыть внешнюю ссылку в окне браузера с помощью функционального файла в веб-надстройке Office?

#ms-word #office-js

#ms-word #office-js

Вопрос:

Я хочу открыть ссылку на учебное пособие для моего приложения в новом окне браузера, используя файл функции. Пока я могу открыть ссылку с помощью dialog API, но это не является обязательным требованием. Мне нужно найти способ открыть ссылку в новом окне браузера. Я уже добавил URL в app domain в манифесте.

 (function () {
  Office.initialize = function (reason) {};
})();

function openExternalLink(event) {

    //this doesn't work
    window.open('https://www.google.com/',"_blank"); 

   // this runs successfully 
    Office.context.ui.displayDialogAsync('https://www.google.com/', { height: 100, width: 100 });

    event.completed();
}
  

Ответ №1:

Из документации

Укажите каждый домен, который вы хотите открыть в окне надстройки, в списке доменов, указанных в элементе AppDomains файла манифеста. Если надстройка пытается перейти к URL-адресу в домене, который есть в списке, то она открывается на панели задач как в настольном Office, так и в Office Online. Если он попытается перейти к URL, которого нет в списке, то в desktop Office этот URL откроется в новом окне браузера (за пределами панели надстройки).

В вашем случае, поскольку вы добавили домен в app domains, URL открывается в диалоговом окне add-in, удаление домена из app domain должно решить вашу проблему.

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

1. Он продолжает показывать загрузку в строке состояния и ничего не будет делать, даже когда я удаляю адрес из AppDomain.

2. Где вы тестируете свою надстройку? (Windows / Mac /Android/ iOS/ Браузер?)

3. Я тестирую Windows путем боковой загрузки в Word 2016