打开新窗口而没有安全确认?

时间:2018-08-18 07:38:08

标签: javascript

我使用以下代码在JS中打开新窗口:

let popupWinindow = window.open('about:blank', '_blank');
popupWinindow.document.write(response);

因此,如果我第一次这样做,浏览器将要求确认以打开此窗口。用户使用起来不方便,导致大多数人不知道何时才能执行此操作。也有很多浏览器都执行相同的操作。

是否可以在没有任何安全确认的情况下统一此案?

1 个答案:

答案 0 :(得分:3)

只有在处理诸如单击事件之类的用户事件时,浏览器才允许您打开新窗口。它不仅会让您随时随地打开一个窗口。

类似于下面的代码,但是它在这里不起作用,因为运行它的iframe已被沙箱化,但它应该在顶层页面上工作。

  

在新窗口中阻止打开“ about:blank”,因为该请求是在未设置“ allow-popups”权限的沙盒框架中进行的。

document.querySelector("a").addEventListener("click", () => {
  const win = window.open("about:blank");
  win.document.write("new win");
});
<a href="#">click for new window</a>