Я попробовал то, что вы предложили в своем комментарии выше. Но все равно появляется то же сообщение, что и на картинке моего оригинального поста выше. Я добавил раздел ОБНОВЛЕНИЕ в посте выше, чтобы описать, что я пытался. Может я что то не так делаю - посоветуйте пожалуйста

е:

window.Open('') или жеwindow.Open('about:blank') работает с JavaScript в обычном HTML-файле, что можно проверитьВот, Но, похоже, он не работает в надстройке Office.js.

подробности:

На моемWindows 10 desktop с участиемVS2017 я создалэто Надстройка Office.js WORD, которая отлично работает с моимMicrosoft Office Home and Student 2016 издание. В этом же проекте я создал новую кнопкуbtnTest вhome.js файл. Когда я нажимаюbtnTest он успешно вызывает следующееMyTest метод и открывает новое окно сwindow.Open('some URL').

Но в том жеMyTest метод, когда я звонюwindow.Open('about:blank') это не открываетпустая страница; вместо этого открывается окно сообщения Windows 10, показанное на скриншоте ниже.

Цель в том, что мой код создает строку HTML на основе некоторого содержимого изWORD document а затем использоватьwindow.document.write(...) метод для динамического открытия этого HTML в браузере, как объяснено (и вы можете проверить)Вот. Вопрос: Как я могу сделатьwindow.Open('about:blank') метод работы?

function MyTest() {
        Word.run(function (context) {

            // window.open('https://www.google.com/'); this works
            var myWindow = window.open('about:blank'); //this does not work and, instead, displays the default Windows 10 message shown in screenshot below
            myWindow.document.write('<!DOCTYPE html><html><head></head><body><p>This is just a paragraph</p></body></html>');


            // Synchronize the document state by executing the queued commands,
            // and return a promise to indicate task completion.
            return context.sync().then(function () {
                //following (after un-commenting) does not work either
                //var myWindow = window.open('about:blank');
                //myWindow.document.write('<!DOCTYPE html><html><head></head><body><p>This is just a paragraph</p></body></html>');
            });
        })
            .catch(function (error) {
                console.log('Error: ' + JSON.stringify(error));
                if (error instanceof OfficeExtension.Error) {
                    console.log('Debug info: ' + JSON.stringify(error.debugInfo));
                }
            });
    }

Окно следующего сообщения Windows выскакивает, когда кнопка ОК становится серой, когда window.open('about:blank'); называется:

НОТА: На том же рабочем столе я потом создал новыйэто UWP AP with Javascript проект и в следующем методе их проекта, я откомментировал их код и добавилwindow.open('about:blank');, Когда я вызываю следующий метод там, он успешно открывает пустую страницу по умолчанию там.

function sayHello() {
    //var messageDialog = new Windows.UI.Popups.MessageDialog("Hello, world!", "Alert");
    //messageDialog.showAsync();
    window.open('about:blank');
}

ОБНОВИТЬ:

Как я могу заставить его работать из диалога? Я попробовал следующее, но это не сработало: я создал этонадстройка диалога, Работает как есть. Затем я закомментировал кодsubmit() функция вForm.js файл надстройки в новом проекте и добавленwindow.open('https://www.google.com/'); линия вместо Когда я нажимаю кнопку «Отправить» в диалоговом окне, он успешно открывает веб-сайт Google в браузере по умолчанию. Но если я заменю вышеуказанную строку на

var myWindow = window.open('about:blank');
myWindow.document.write('html here'');`

это показывает то же самое окно предупреждения, показанное на изображении выше

Ответы на вопрос(2)

Ваш ответ на вопрос