当从Office.js加载项使用window.open时,URL会截断锚标记

时间:2017-12-11 10:45:37

标签: office-js

我正在尝试为Word / PPT创建一个加载项,使用window.open打开一个新窗口。

在Windows计算机上,URL会截断锚标记。例如,http://www.example.com/default.htm#tag更改为http://www.example.com/default.htm

这可以在Office for Mac以及Office加载项之外正常工作。

我正在使用的代码:

(function () {
    "use strict";
    Office.initialize = function (reason) {
        $(document).ready(function () {
            app.initialize();
            $('#reprobutton').click(openInNewWindow);
        });
    };

    function openInNewWindow(url) {
        url = "http://www.example.com/default.htm#tag";
        window.open(url, 'windowTab');
    }
})

1 个答案:

答案 0 :(得分:0)

Office.js包含专门针对此方案的Dialog API

要为加载项之外的URL打开新窗口,您需要先在加载项中打开一个页面,然后在Office.initialize触发后重定向用户。

例如,要打开http://www.example.com/default.htm#tag的对话框,您可以使用Dialog API打开本地页面:

Office.context.ui.displayDialogAsync('https://myAddinDomain/myDialog.html');

myDialog.html中,您可以使用以下内容将其重定向到您想要的网址:

<script>
    Office.initialize = function (reason) {
        window.location('http://www.example.com/default.htm#tag');
    };
</script>