我使用以下代码在JS中打开新窗口:
let popupWinindow = window.open('about:blank', '_blank');
popupWinindow.document.write(response);
因此,如果我第一次这样做,浏览器将要求确认以打开此窗口。用户使用起来不方便,导致大多数人不知道何时才能执行此操作。也有很多浏览器都执行相同的操作。
是否可以在没有任何安全确认的情况下统一此案?
答案 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>