Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用带有jspdf的png图像在新选项卡中打开pdf可以在Mozilla中工作,但不能在Chrome或Internet Explorer中工作_Javascript_Jquery_Html_Flot_Jspdf - Fatal编程技术网

Javascript 使用带有jspdf的png图像在新选项卡中打开pdf可以在Mozilla中工作,但不能在Chrome或Internet Explorer中工作

Javascript 使用带有jspdf的png图像在新选项卡中打开pdf可以在Mozilla中工作,但不能在Chrome或Internet Explorer中工作,javascript,jquery,html,flot,jspdf,Javascript,Jquery,Html,Flot,Jspdf,我在我的html网站上创建了一个flot图,并希望能够将其导出为pdf(点击一个按钮),该pdf将在一个新选项卡中打开,供人们决定是否要将其下载到计算机上 我从jpeg开始,它工作得很好,但由于透明度问题,背景显示为黑色,所以我改为png 在此之后,我的代码会使Chrome浏览器崩溃,或者打开一个新的空选项卡!同样适用于Internet Explorer。。。在Mozilla中,它似乎工作得很好。将pdf保存到文件中而不是在新窗口中打开,在所有浏览器中都是完美的,但我不希望人们的下载文件夹中充满

我在我的html网站上创建了一个flot图,并希望能够将其导出为pdf(点击一个按钮),该pdf将在一个新选项卡中打开,供人们决定是否要将其下载到计算机上

我从jpeg开始,它工作得很好,但由于透明度问题,背景显示为黑色,所以我改为png

在此之后,我的代码会使Chrome浏览器崩溃,或者打开一个新的空选项卡!同样适用于Internet Explorer。。。在Mozilla中,它似乎工作得很好。将pdf保存到文件中而不是在新窗口中打开,在所有浏览器中都是完美的,但我不希望人们的下载文件夹中充满他们可能不想要的垃圾

我制作了一把小提琴来重现这个问题:

“GetPDF”按钮内的jQuery代码如下(plot是我的flot图的名称):


有人能帮我看看我做错了什么吗?

这似乎是Chrome的问题,而不是你的代码。谈到了它和一些潜在的修复,但我没能让它们在Chrome上工作。你可以做一些浏览器检测,如果是Chrome,你可以保存,否则就在一个新的标签中打开。谢谢,@prmech。我了解到浏览器检测是非常不鼓励的,应该使用特征检测。你知道在这种情况下如何实现吗?
var canvas = plot.getCanvas();
var src = canvas.toDataURL("image/png");
var doc = new jsPDF('landscape');
doc.addImage(src, 'PNG', 10, 20, 280, 150);
doc.output('dataurlnewwindow');