当前位置:  开发笔记 > 编程语言 > 正文

_blank被阻止弹出我怎么能阻止这个?

如何解决《_blank被阻止弹出我怎么能阻止这个?》经验,为你挑选了1个好方法。

我使用时在服务器上创建了一个pdf:

        function GetPdf(document) {


            //Stores the data and creates the html,pdf file
            $http.post('createpdf/', document).success(function(data){

                console.log(data.filename);

                window.open('download2/'+data.filename+".pdf", "_self");


            });

我在谷歌浏览器中弹出了阻止弹出的错误消息.当我使用该网站的选项启用弹出窗口时,一切正常.有没有办法解决 ?因为这可能会让一些用户感到困惑.

但是当我使用时:

window.open('download2/'+data.filename+".pdf", "_self");

它打开页面没有警告,但然后主应用程序被pdf取代,这不是我想要的结果.



1> Quentin..:

浏览器在允许JavaScript 显示弹出窗口时有严格的规则,但它们可以概括为"仅响应用户操作".

接收对HTTP请求的响应不是用户操作,因此禁止弹出窗口.

这里的简单解决方案是不使用JavaScript.Ajax的意思是在不离开页面的情况下与服务器通信,但是你仍然要离开页面,所以使用Ajax没有任何意义.

只需使用常规表单提交.

...然后让服务器端脚本重定向到创建的PDF的URL,而不是将URL作为JSON返回.

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有