- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有一个托管在 Azure 中的 excel 加载项,其中 Office.context.ui.messageParent API 消息不会在桌面上发送/接收。没有错误,消息只是没有被事件监听器捕获。
我们使用 MFA 的对话框,我们让它在桌面和 Web 本地工作,但是当我们部署到托管在 azure 中的阶段加载项时,这个问题只发生在桌面上。
这有效:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
<meta http-equiv="Expires" content="0"/>
<meta http-equiv="Cache-Control" content="private, no-cache, no-store"/>
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Expires" content="-1"/>
<title></title>
<script type="text/javascript" src="https://appsforoffice.microsoft.com/lib/1.1/hosted/office.js"></script>
</head>
<body>
<script>
if (window.opener)
window.opener.postMessage({type: 'interstitial', url: document.location.href}, "*");
Office.initialize = function (reason) {
console.log("Sending auth complete message through dialog: " + document.location.href);
Office.context.ui.messageParent(document.location.href);
}
</script>
</body>
</html>
taskpane.html 的片段,事件监听器在哪里:
Office.context.ui.displayDialogAsync(url, {
height: dim.height,
width: dim.width,
promptBeforeOpen: false
}, async (result) => {
_loginDialog = result.value;
_loginDialog.addEventHandler(Office.EventType.DialogMessageReceived, processMessage);
_loginDialog.addEventHandler(Office.EventType.DialogEventReceived, (ev) => {
console.log("## EVENT RECEIVED ##", ev);
});
});
function processMessage(arg) {
console.log("Message received in processMessage: " + JSON.stringify(arg));
_lastCallback(arg.message);
_loginDialog?.close();
_loginDialog = null;
}
最佳答案
基于 Authenticate and authorize with the Office dialog API ,正确的流程是:
加载项应在加载项的域中启动对话框中的页面,然后重定向到登录页面,然后再次重定向到与对话框中的第一页具有相同域的另一个页面。
否则,messageParent API 将不起作用,因为它只信任 displayDialogAsync() API 中使用的页面域。在您的场景中,登录页面(第一次在对话框中启动)和回调页面位于不同的域中,这会导致问题。
谢谢。
关于excel - Office.js Office.context.ui.messageParent 在 Excel 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68595740/
有没有办法得到正确的错误信息? 当我做$npm test我故意破坏我的代码(咳咳去掉一行代码) 我收到这条消息 src/redux/drivers/driver.saga.spec.js Tes
我正在为我的 Outlook 加载项使用 Office Javascript API。我正在运行 Outlook-web-16.01 ( https://outlook.live.com/owa/ )
我们有一个托管在 Azure 中的 excel 加载项,其中 Office.context.ui.messageParent API 消息不会在桌面上发送/接收。没有错误,消息只是没有被事件监听器捕获
我正在使用新的 Office-JS api 处理 Outlook 插件,在构建身份验证流程时,我发现在 Outlook 2016 for Mac 案例中,对话系统似乎无法正常工作。 需要明确的是,我们
Mac 版 Microsoft Word:15.29.1 (161215) 让我们假设以下为 OfficeJS Word 插件的 IIS 托管设置: 带有 CNAME 的 Word Addin 网站
我是一名优秀的程序员,十分优秀!