私は私のページに「ドリルダウン」機能を持ったチャートコントロールを持っています。可能なドリルポイントを描くためにイメージマップを使用します。このコードはすべて最新のChromeと最新のInternet Explorerで完璧に動作します。FireFoxは私の古いイメージマップを記憶しているようです
ので、上記の画像を見て、左側のコンソールに次の3つのエントリを参照してください。
- エントリ1:チャートが最初にページにロードされるとき、これは最初のイメージマップです。
- エントリ2:チャートがドリルされると、これは次のレベルのイメージマップです。このマップは正しくレンダリングされます。
- エントリ3:ドリルダウンを元に戻します。データは最初のエントリのデータと同じであることに注意してください。
私の右のモニターは、現在、エントリ3のチャートを表示しています。そして、エントリー3のマップがロードされていることがわかるHTMLマークアップを調べています。 (「1489」)DrillChart:あなたは私の右のモニターの左下隅に見れば
はまだ、あなたはjavascriptを参照してください。このメソッドは、エントリ2の一部であり、エントリ1/3ではありません。
function UndoDrillDown() {
$('#ChartLoading').show();
$.ajax({
url: '../Chart/UndoDrillDown',
data: { ReportID: reportID },
datatype: 'json',
success: Reload
});
}
function Reload(htmlImageMap) {
//Remove the old image map and then add a fresh one.
console.log(htmlImageMap);
//$('#HistoricalChartDialog').children("map").remove();
$('#HistoricalChartMap').remove();
$(htmlImageMap).appendTo('#HistoricalChartDialog');
//Fetch image associated with new image imap.
var reportID = parseInt($('#ReportSelector').val());
$('#HistoricalChart').bind('load', function() {
$(this).unbind('load');
//When drilling down it does not make sense to continue showing the old tooltip after clicking.
$('#CustomTooltip').hide();
$('#ChartLoading').hide();
$(this).show();
}).bind('error', function() {
$(this).unbind('error');
$('#ChartLoading').hide();
$('#ChartLoadingError').show();
}).attr('src', '../Chart/HistoricalChart?ReportID=' + reportID + '&cacheBuster=' + new Date().getTime());
}
イメージマップを複数の方法で削除しようとしました。限り、私はイメージマップは削除されたが、FireFoxはまだ古いデータを覚えていると言うことができます。
編集:私は再びそれを示す前に、HistoricalChartを非表示にした場合、それは、Firefoxで正しく動作します...私は、可能な場合しかし、ちらつきを避けるためにしたいと思います。
よろしくお願いします。 FireFoxの私のバージョンは古くなっていた。私は7歳だった。なぜ自動アップデートが実行されなかったのか分からない。ありがとう。 –