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

Pop-up blocked error when opening url from outlook webaddin

我试图在用户单击插件视图中的按钮时打开 url。但是网络插件抛出错误。

我的代码打开 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。

一般规则是打开 window 如果它不是 用户操作的直接结果 ,将始终被阻止。有关详细信息,请参阅此 SO 问题:Avoid browser popup blockers.

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

您需要向用户展示可打开新 window 的可点击元素(link、按钮等)。