Ich bemerkte, dass D3-Elemente mit seinem json-Aufruf (d3.json
) neu zu zeichnen nicht auf IE9 + aktualisiert werden soll. Der Grund dafür ist, dass JSON-Aufrufe zwischengespeichert werden, so dass der Browser nicht registriert wird, da neue Daten übergeben wurden. Abhilfe für normale jQuery Ajax-Aufrufe ist seine Eigenschaft Cache zu setzen: false, global für alle Ajax-Aufrufe:D3.json Setup-Cache auf false
$.ajaxSetup({ cache: false });
Aber wie kann ich hinzufügen, es zu d3.json
Anrufe, da ihre Verwendung eine eigene Methode für Ajax-Aufruf? Es gelang mir, mit dem Hinzufügen von aktuellen Zeitstempel nach dem Pfad:
var noCache = new Date().getTime();
d3.json(data + "?_=" + noCache)
aber das ist ein bisschen lahm Weg, es zu tun ... irgendwelche Vorschläge, wie kann ich das erreichen? Oder noch besser, wie man das nur einrichtet, wenn IE läuft :)
Ich denke, es ist wahrscheinlich einfacher, hier JQuery zu verwenden. –
Sie sind in etwa richtig. Ich habe alle Anrufe von 'd3.json' in' $ .ajax' geändert. Jetzt stoße ich auf ein anderes Problem, wie man bestimmt, ob Browser IE ist, oder wenn Browser IE10-11 ist? Da sie die bedingten Kommentare 'IF IE' aus diesen Versionen entfernt haben. Immer noch auf der Suche nach einer Antwort im Web, kann aber keine richtige finden – Alchnemesis