Пожалуйста, не говорите, что мой вопрос повторяется, потому что это не так, и я ищу много за последние 5 часов.
Очень сложный вопрос, но давайте посмотрим, может ли кто-нибудь действительно помочь мне.
Итак, я пытаюсь получить сгенерированный URL-адрес графического изображения с помощью сервера экспорта Highchart. Мой код следующий, и он не возвращает URL-адрес изображения в IE8 или IE9. Как будто вы можете видеть, что мой скрытый элемент ввода остается пустым, но хорошо работает с 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 ... })
}
Это исследовано нашими разработчиками. Спасибо за сообщение.