【问题标题】:Open an html page in a default browser from an add-in从加载项在默认浏览器中打开 html 页面
【发布时间】:2016-06-26 23:59:25
【问题描述】:

我想在我的加载项的任务窗格中插入一个超链接,并且我希望此链接在默认浏览器中打开 support.html 页面。

<a href="https://example.com/support.html" target="_blank">Support</a>

但是,上面的代码会在任务窗格内打开support.html 页面。用户可能不知道如何返回加载项的主页。

有谁知道如何在用户的默认浏览器中打开页面? (顺便问一下,是否建议在加载项之外启动一些东西?如果不是,帮助页面的常见 UX 设计是什么?)

【问题讨论】:

    标签: ms-office office-js


    【解决方案1】:

    您可以通过 JavaScript 从 Office 插件打开一个新的浏览器窗口:简单

    window.open("your-url.com");
    

    或者,如果您希望浏览体验更加内嵌,您可以使用对话框 API:

    Office.context.ui.displayDialogAsync(url,
        { height: 75, width: 80, requireHTTPS: true });
    

    有关完整示例,请参阅 https://github.com/OfficeDev/Office-Add-in-UX-Design-Patterns-Code/tree/master/templates/feedback/office-store

    ~ Michael Zlatkovsky,Microsoft Office 可扩展性团队开发人员

    【讨论】:

    • 也可以使用displayDialogAsync API;查看我的更新答案。
    • 我尝试了您建议的两种方法。在我的Add-in for WORDHome.js 文件中,window.open("myURL.com"); 工作并打开了我指定的 URL。但是在Home.js 中用Office.context.ui.displayDialogAsync(myURL.com,....); 替换window.open(...) 之后,它什么也没做。您的第二种方法似乎需要更多步骤才能起作用。您能否详细说明第二种方法需要哪些步骤?
    • window.open 似乎并没有打开默认的浏览器窗口,而是只打开了带有嵌入式浏览器控件的office 应用程序的新窗口。
    • 我建议您打开一个新问题,以便团队关注。
    • 也许将对话 api 添加到需求中
    【解决方案2】:

    如果您尝试打开默认操作系统浏览器,请使用以下命令:

    Office.context.ui.openBrowserWindow('https://someurl.com')

    这会启动默认浏览器而不是附加到插件的对话框

    https://docs.microsoft.com/en-us/javascript/api/office/office.ui?view=excel-js-preview#openBrowserWindow_url_

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-11
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    • 2015-04-17
    • 2021-09-16
    • 2018-08-31
    • 1970-01-01
    相关资源
    最近更新 更多