javascript - Window.open 不适用于 jquery

标签 javascript jquery

我在下面调用 jquery 方法将表格详细信息导出为 PDF。 PDF 文件在 java 类中创建,同时在路径中被调用和可用 C:\apache-tomcat-7.0.40\webapps\TestProj\PDFfiles 我有这个脚本的 JSP 位于 C:\apache-tomcat-7.0.40\webapps\TestProj\WEB-INF\jsp 但是 window.open 不起作用。我可以得到“PDF生成成功---”的提示信息

有什么想法吗?请帮忙。

function openPDF() {
        $.post("generatePDF", {action : "get"}, function(data) {
            if (data.returnStatus == "SUCCESS") {               
                alert("PDF generation success ---");
                var win = window.open('', 'fullscreen=no');
                win.location.href = '../../PDFfiles/TestPdf.pdf';
                win.focus(); 
                //window.open('../../PDFfiles/TestPdf.pdf', 'fullscreen=no');

            }
        }, 'json');     
    }

我也试过下面的代码片段但没用..

window.open('../../PDFfiles/ShopsListPdf.pdf', 'fullscreen=no');

最佳答案

window.open 仅适用于 click 等用户操作,但如果之后有延迟,它将被浏览器阻止。像您在 ajax 调用 中所做的那样延迟。所以尝试在点击

后尽快执行window.open

注意:有时由于缓存或其他原因,ajax 调用速度过快,window.open 可能会起作用,我经常遇到这种情况,特别是当我尝试登录 facebook 时这是我发布问题时的链接 fb login popup block

关于javascript - Window.open 不适用于 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16821463/

相关文章:

javascript - 获取ajax请求的请求头

javascript - 我必须通过 jQuery 删除父 div

jquery - 找到掉落的元素

javascript - 选择元素中的文本(类似于用鼠标突出显示)

javascript - 将 ArrayList 传递给 JQuery Flot

带有链接的 jQuery ul - 只影响 li child

javascript - 括号内函数的奇怪使用

javascript - 从存储调用 api 并将数据绑定(bind)到 ReactJS/flux 中的组件状态

javascript - Bootstrap 模态事件不会触发

javascript - 如何获取touchend坐标?