javascript - Highchart 导出图表在 IE8 或 IE9 中不返回图像

标签 javascript php highcharts internet-explorer-8 internet-explorer-9

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

好的,我正在尝试使用 Highchart Export 服务器获取生成的图表图像 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 ... })

}

看到这个 fiddle :http://jsfiddle.net/gvaartjes/vLaa7k57/1/

格特

关于javascript - Highchart 导出图表在 IE8 或 IE9 中不返回图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27144479/

相关文章:

javascript - 有人可以告诉我如何在 Unix 上运行 Node.js 吗?

php - 如何创建 YouTube 视频直播?

php - 将这一团乱麻的 PHP 变成一个 MySQL 查询

php - 发布的值没有进入 json highcharts-php 和 mysql 的 where 子句

javascript - 如何停止在 hubspot 上提交表单?

javascript - 如何给控件添加监听事件

php - 计算行数,直到达到值

javascript - (angular2-highcharts) 静态解析符号值时遇到错误中的错误

javascript - 如何创建以 X 和 Y 作为字符串的图表?

javascript - React-Redux:映射对象数组并从每个对象初始化一个组件