使用 window.open 时如何停止浏览器弹出窗口拦截器
How to stop browser popup blocker when using window.open
我正在打印从后端检索到的 html。
printHtml(htmlTemplate) {
var printWindow = window.open('', '_blank');
printWindow.document.write(htmlTemplate);
setTimeout(function () {
printWindow.document.close(); // necessary for IE >= 10
printWindow.focus(); // necessary for IE >= 10*/
printWindow.print();
printWindow.close();
}, 1000);
}
这在所有浏览器中都可以正常工作,唯一我想不通的是如何停止弹出窗口阻止程序。
不能使用 printWindow.location 因为 html 存在于变量中。
遇到同样问题的人,
问题是我在 promise 中调用了这个方法,完成后,
window.open 有一个新的 window 实例导致弹出窗口拦截器。
这在我分配时工作正常,
var printWindow = window.open('', '_blank');
在进入 promise 之前添加到全局变量并在方法中使用它。
我正在打印从后端检索到的 html。
printHtml(htmlTemplate) {
var printWindow = window.open('', '_blank');
printWindow.document.write(htmlTemplate);
setTimeout(function () {
printWindow.document.close(); // necessary for IE >= 10
printWindow.focus(); // necessary for IE >= 10*/
printWindow.print();
printWindow.close();
}, 1000);
}
这在所有浏览器中都可以正常工作,唯一我想不通的是如何停止弹出窗口阻止程序。 不能使用 printWindow.location 因为 html 存在于变量中。
遇到同样问题的人,
问题是我在 promise 中调用了这个方法,完成后,
window.open 有一个新的 window 实例导致弹出窗口拦截器。
这在我分配时工作正常,
var printWindow = window.open('', '_blank');
在进入 promise 之前添加到全局变量并在方法中使用它。