Я использую следующий код для перезагрузки изображения с использованием jQuery:
//Fetch image associated with new image imap.
var reportID = parseInt($('#ReportSelector').val());
$('#HistoricalChart').bind('load', function () {
alert("loaded");
$(this).unbind('load');
$('#ChartLoading').hide();
$(this).show();
}).bind('error', function () {
$(this).unbind('error');
$('#ChartLoading').hide();
$('#ChartLoadingError').show();
}).attr('src', '../Chart/HistoricalChart?ReportID=' + reportID);
Последняя строка этой цепочки jQuery указывает, что я хочу изменить атрибут src HistoricalChart.Для этого я использую следующее действие контроллера:
public ActionResult HistoricalChart(int reportID)
{
LineChart lineChart = (LineChart)Session[string.Format("HistoricalReport: {0}", reportID)];
MemoryStream memoryStream = lineChart.ConvertToMemoryStream();
return File(memoryStream, "image/png");
}
Это работает на 100% нормально под Chrome.Однако в IE9 это работает только в первый раз.«Загруженное» оповещение срабатывает каждый раз под IE - только изображение не меняется.
То есть у меня установлена точка останова внутри метода HistoricalChart.При первом запуске HistoricalChart img устанавливается src - достигается точка останова.После этого, однако, точка останова не срабатывает после вызова .attr ('src', ...).
В идеале мне не пришлось бы очищать атрибут src или скрывать изображение, чтобы решить эту проблему.вопрос.Я не хочу, чтобы мое изображение мерцало при взаимодействии с ним.
Это известное ограничение для IE?Обходные?Или я что-то не так делаю?