Office js 从outlook webaddin打开url时弹出窗口被阻止错误

Office js 从outlook webaddin打开url时弹出窗口被阻止错误,office-js,outlook-web-addins,Office Js,Outlook Web Addins,当用户点击插件视图中的按钮时,我试图打开url。但是web addin抛出了错误 打开url的我的代码: let a = document.createElement("a"); a.setAttribute('target', '_blank'); a.setAttribute("style", "display: none"); document.body.appendChild(a); a.href = finalUrl; a.click(); document.body.removeCh

当用户点击插件视图中的按钮时,我试图打开url。但是web addin抛出了错误

打开url的我的代码:

let a = document.createElement("a");
a.setAttribute('target', '_blank');
a.setAttribute("style", "display: none");
document.body.appendChild(a);
a.href = finalUrl;
a.click();
document.body.removeChild(a);
错误消息:

由于此错误,应用被从应用商店拒绝。我怎样才能克服这个错误


我不想使用不在浏览器中打开url的对话API。

一般规则是,当窗口不是用户操作的直接结果时,打开窗口将始终被阻止。有关更多信息,请参阅此问题:

您正在触发弹出窗口,因为您试图模拟
单击()
。由于这不是直接的用户操作,因此所有主流浏览器都会标记此操作


您需要向用户提供一个可单击的元素(链接、按钮等),以打开一个新窗口

在这里,我在渲染时没有url。当用户点击按钮时,我会动态生成AmazonS3URL并打开它。处理此类场景的方法是什么?您应该生成
URI
并调用
窗口。在该按钮的单击事件处理程序中打开
。当您将该调用放在调用堆栈的更深处时,就会与阻止程序发生冲突。另一种方法是让用户单击该按钮,然后在URI就绪时向他们显示另一个按钮。