高图表导出图表在 IE8 或 IE9 中不返回图像


Highchart Export chart not returning image in IE8 or IE9

请不要说我的问题重复,因为它不是,而且自过去 5 小时以来我搜索了很多。非常棘手的问题,但让我们看看是否有人真的可以帮助我。

好的,所以我正在尝试使用Highchart导出服务器获取生成的图表图像URL。我的代码如下,它没有在IE8或IE9中返回任何图像URL。好像你可以看到我隐藏的输入元素保持空白,但与chrome,Firefox,safari甚至IE edge和IE10一起工作得很好,但不是IE8和IE9。

这是代码,

var obj = {}, 图表;

chart = $('#graph<?php echo $i;?>').highcharts();
obj.svg = chart.getSVG();
obj.type = 'image/jpeg';
obj.width = 900;obj.height = 400;  
obj.async = true;
 <?php if (1) {?>  
$.ajax({
    type: 'post',
    url: chart.options.exporting.url,        
    data: obj, 
    success: function (data) {            
            //alert(data);
            var exportUrl = this.url,
            imgContainer = $("#imgContainer<?php echo $i;?>");                         
            var obj2 = exportUrl + data;
            document.getElementById('graphurl_<?php echo $i;?>').value = exportUrl + data;
            //var temp = exportUrl + data;
            //$("#graphurl_1").val(temp);
            //var imgie = document.getElementById("graphurl_1ie8");
            //imgie.setAttribute('src','jimils.com');
        }        
});

不从导出服务器返回图像URL,请帮助。

CORS 在 IE8 和 IE9 中可以通过 XDomainRequest 对象实现。我们在这里做一些特征检测

if (window.XDomainRequest) {
    /*old IE*/
    var xdr = new XDomainRequest();
    xdr.open("post", 'http://export.highcharts.com/?' + dataString);
    xdr.onload = function () {
        console.log(xdr.responseText);
        $('#container').html('<img src="http://export.highcharts.com/' + xdr.responseText + '"/>');
    };
    xdr.send();
} else {
    $.ajax({ // jQuery ajax call ... })
}

看到这个小提琴:http://jsfiddle.net/gvaartjes/vLaa7k57/1/

格特

它由我们的开发人员进行调查。感谢您的报道。