请不要说我的问题是重复的,因为它不是重复的,而且自过去 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/