gpt4 book ai didi

office-js - 登录重定向后 Office 2016 加载项中的 "Word object is undefined"

转载 作者:行者123 更新时间:2023-12-05 07:48:31 26 4
gpt4 key购买 nike

我正在尝试添加一个词,首先必须在初始加载后重定向到登录页面,并在登录后重定向回加载项。加载项托管在其自己的 Web 服务器上。但是,在重定向之后,我收到“Word 未定义”的错误。加载项在 word 中运行,我调用了 Office.initialize 和 Word.run。如果我运行加载项以便它指向本地主机,而不是加载项的 Web 服务器,它运行良好,但是当它从 Web 服务器运行时我收到错误。

对于出现错误的页面,我的代码如下所示:

(function () {
"use strict";

Office.initialize = function (reason) {
$(document).ready(function () {

try {
doSomethingInWord();
} catch (e) {
console.log(e);
}
}
}
})();

我的“doSomethingInWord”函数如下所示:

function doSomethingInWord() {
Word.run(function (context) {
var body = context.document.body;

return context.sync()
.then(function () {
body.clear();
return context.sync().then(function () {
console.log('Did Something in word');
})
}).catch(errorHandler);
}
}

最佳答案

我认为您遇到的问题是,通过重定向到身份验证对话框并返回,您不会以某种方式重新触发 Office.js。

令我惊讶的是,您说它在没有 Visual Studio 的情况下在 Word 中也适用——我不知道它们之间有何关联。但无论哪种情况,我认为您都会在此流程中遇到其他问题,尤其是在 Excel Online 中,其中加载项在 iframe 中运行(并且 OAuth 对话框往往不允许进入iframe)。

我认为最好的办法是“正常”加载加载项,并使用 Office.context.ui.displayDialogAsync API 在单独的对话框中显示 OAuth 登录。在此期间,让您的加载项显示“等待登录对话框输入”。然后,在 OAuth 登录完成后将对话消息返回父级,并传入任何必需的信息( token 或其他信息)。

关于office-js - 登录重定向后 Office 2016 加载项中的 "Word object is undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38484147/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com