我使用时在服务器上创建了一个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取代,这不是我想要的结果.
浏览器在允许JavaScript 显示弹出窗口时有严格的规则,但它们可以概括为"仅响应用户操作".
接收对HTTP请求的响应不是用户操作,因此禁止弹出窗口.
这里的简单解决方案是不使用JavaScript.Ajax的意思是在不离开页面的情况下与服务器通信,但是你仍然要离开页面,所以使用Ajax没有任何意义.
只需使用常规表单提交.