【问题标题】:How to retrieve the Query string value from web word instance如何从 Web 单词实例中检索查询字符串值
【发布时间】:2019-11-05 10:09:19
【问题描述】:

我正在为针对 Word Online 的 Word 创建一个 Web 加载项。使用 Word Online 打开文档时,URL 将包含文件名。我正在尝试检索该文件名。

为了检索此 URL,我尝试使用 window.location href,但它正在获取我托管的插件 Web 应用程序 URL。是否可以获取Word Online URL?

示例代码:

function getParameterByName(name, url) {
    if (!url) url = window.location.search;
        name = name.replace(/[\[\]]/g, '\\$&');
        var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
            results = regex.exec(url);
        if (!results) return null;
        if (!results[2]) return '';
        return decodeURIComponent(results[2].replace(/\+/g, ' '));
    }

【问题讨论】:

    标签: ms-word office-js office-addins word-addins


    【解决方案1】:

    你应该改用什么?

    您应该使用此处定义的 Office.js API

    https://docs.microsoft.com/en-us/javascript/api/office/office.document

    Office.context.document.url 这应该会返回您可以使用的东西。

    为什么您的解决方案不起作用?

    很遗憾,由于 iFrame 的安全要求,您尝试以这种方式实现它是不可能的。 Word Online 使用 iFrame 来托管您的加载项,并且从 iFrame 访问父窗口通常受到非常严格的限制,除非您得到特别允许。

    但是,您可以通过查看 referrer 标头来获取父窗口的基本主机 url,但仅此而已。我知道这对你来说还不够,这就是我推荐使用 Word API 的原因。

    您可以在下面看到更多关于 iFrame 的文档:

    【讨论】:

    • 按照建议,我使用了 Office.context.document.url 但这样我得到了文档的绝对路径(示例:mydomain.xyz/personal/personal_com/Documents/AddinTest.docx),而不是实际的在线单词 url
    • 是的 - 但看起来你有那个文件名,对吗?
    • 我正在使用 Office.context.document.url 来获取在线单词的 url,即 mydomain.xyz/:w:/r/personal/personal_com/_layouts/15/… 但输出是 mydomain.xyz/personal/personal_com/Documents/AddinTest.docx 。我的要求是阅读完整的 url 和相关的查询字符串
    • 除非您正在寻找的元信息存在于Office.context.document 中,否则我认为您无法获得它。我已经解释了您遇到的限制,您无法读取 iFrame 的父信息。您说您正在尝试获取此 api 中的文件名。你只需要阅读它的最后一点。如果您要获取文件名以外的查询字符串,我认为这是不可能的。
    • 是的。非常感谢您帮助查找文件名。我的实际问题陈述是将一些信息从我的源应用程序传递到 AddIn。这可能不仅仅是文件名。我的想法是通过自定义查询字符串传递额外的参数,使用 addin api 读取它,然后加载参数特定的数据。如果您说无法使用此方法读取查询字符串,那么您能否建议我可以将参数从源应用程序传递到 word 插件的任何其他方式?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-14
    • 2020-08-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多