【发布时间】:2014-02-20 10:47:11
【问题描述】:
我有 jqplot,我想在单击按钮后以 jpg 或 png 格式下载它。我可以使用
$('#chartdiv').jqplotSaveImage();
(chartdiv 是带有 plot 的 div)
它仅适用于 chrome 和 firefox。在 IE 中它不起作用。我在 IE 11 中尝试过。
我在 chrome 中还有另一个问题,下载的图像文件名为“download”,而在 Firefox 中,它是一些带有 .part 扩展名的有线名称(例如:- ka8ShgKH.part)。有没有办法将情节标题作为下载文件名?
谢谢。
$("#btnSaveImg").on("click", LoadImage);
LoadImage = function(){
$('#chartdiv').jqplotSaveImage();
}
编辑 jqplotsaveimage函数
$.fn.jqplotSaveImage = function() {
var imgData = $(this).jqplotToImageStr({});
if (imgData) {
window.location.href = imgData.replace("image/png", "image/octet-stream");
}
};
【问题讨论】:
-
错过函数jqplotSaveImage()..请在问题内加载脚本...
-
@MirkoCianfarani 我在上面添加了该功能。它是 jquery.jqplot.js 文件中的一个函数。
-
看来你运气不好。 IE 对
data URIs的工作方式和位置非常具体:msdn.microsoft.com/en-us/library/cc848897%28v=vs.85%29.aspx -
@Mark 感谢您的宝贵回复。你能告诉我有没有什么方法可以通过单击按钮下载 jqplot,在主要的三个浏览器(chrome、firefox 和 IE)上工作?
-
我假设您可以访问网络服务器?您可以编写一个简单的脚本,将 base64 编码图发布到其中,然后将其作为文件发送回。您也可以像这样控制文件的名称。
标签: javascript jquery internet-explorer jqplot