Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.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 通过在IE中单击按钮下载Jqplot图像_Javascript_Jquery_Internet Explorer_Jqplot - Fatal编程技术网

Javascript 通过在IE中单击按钮下载Jqplot图像

Javascript 通过在IE中单击按钮下载Jqplot图像,javascript,jquery,internet-explorer,jqplot,Javascript,Jquery,Internet Explorer,Jqplot,我有jqplot,我想下载它一次点击一个按钮作为jpg或png。我可以用电脑来做 $('#chartdiv').jqplotSaveImage(); (chartdiv是带有绘图的div) 它只在chrome和firefox中工作。在IE中它不起作用。我试过IE 11 我在chrome中还有另一个问题,下载的图像文件名是“download”,在firefox中是一个有线名称,扩展名为.part(例如:-ka8ShgKH.part)。有没有办法将绘图标题作为下载文件名 多谢各位 $("#btnS

我有jqplot,我想下载它一次点击一个按钮作为jpg或png。我可以用电脑来做

$('#chartdiv').jqplotSaveImage();
(chartdiv是带有绘图的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");
    }

};

我正在使用jqPlot,我在IE中使用上述内容时遇到问题,即使它在Chrome中工作,我也无法命名下载的图像

我找到了这个箱子和那个箱子。这在IE和Chrome的更高版本中都可以使用,您可以使用自己的文件名保存图像。js不仅可以用于图像

//include the downoad.js file from http://danml.com/download.html

<button id="dwnl-chart-1" onClick="$.fn.jqplotSaveImage('chart-1', 'chart_name">Download as image</button>

    $.fn.jqplotSaveImage = function(id, filename) {

        var imgData = $('#'+id+'-parent').jqplotToImageStr({});
        if (imgData) {
            download(imgData, filename+'.png', "image/png");
        }
    };
//包括来自的download.js文件http://danml.com/download.html
作为图像下载
$.fn.jqplotSaveImage=函数(id,文件名){
var imgData=$('#'+id+'-parent').jqplotToImageStr({});
if(imgData){
下载(imgData,文件名+'.png',“image/png”);
}
};

错过函数jqplotSaveImage()。。请在问题中加载脚本…@MirkoCianfarani我在上面添加了这个函数。这是jquery.jqplot.js文件中的一个函数。看起来您运气不好。IE非常明确地说明了
数据URI的工作方式和工作地点:@Mark感谢您的宝贵回复。你能告诉我有什么方法可以通过点击按钮下载jqplot,在三种主要浏览器(chrome、firefox和IE)上运行吗?我假设你可以访问web服务器?您可以编写一个简单的脚本,将base64编码的绘图发布到其中,然后将其作为文件发送回。您也可以这样控制文件名。