浏览器拦截新窗口问题总结
一般情况下,对于用户正常操作手动触发的a标签、window.open、form表单提交等方式打开新窗口时是不会被浏览器拦截的,可以正常的打开。但是由于业务需求当我们需要在异步的程序中去打开新窗口时,由于浏览器的安全机制,用户未始终允许的情况下,可能会触发到浏览器拦截,无法正常直接弹出。
几种打开新窗口的方式
1.window.open()
2.创建a标签target=_blank,手动触发a.click()
3.创建form表单,手动触发form.submit()
解决方法
1,我们可以在异步程序调用之前先打开一个新窗口,并指定窗口名称
window.open("about:blank", 'windowName');
$.ajax({
...});