Ho notato che il ridisegno di elementi D3 con la sua chiamata json (d3.json
) non si desidera essere aggiornato su IE9 +. Il motivo è che le chiamate json vengono memorizzate nella cache in modo che il browser non si registri quando sono stati passati nuovi dati. Soluzione per le normali chiamate ajax jQuery è quello di impostare la proprietà alla cache: false, a livello globale per tutte le chiamate Ajax:D3.json impostazione cache su false
$.ajaxSetup({ cache: false });
Ma come posso aggiungerlo al d3.json
chiamate, dal momento che il suo metodo proprio utilizzando per chiamare Ajax? Sono riuscito con l'aggiunta di timestamp corrente dopo percorso:
var noCache = new Date().getTime();
d3.json(data + "?_=" + noCache)
ma questo è un modo zoppo po 'per farlo ... qualche suggerimento come posso ottenere questo risultato? O ancora meglio, come configurare questo solo se IE è in esecuzione :)
Penso che sia probabilmente più facile usare JQuery qui. –
Hai ragione. Ho cambiato tutte le chiamate da 'd3.json' a' $ .ajax'. Ora mi imbatto in un altro problema, come determinare se il browser è IE o se il browser è IE10-11? Dal momento che hanno rimosso i commenti condizionali "IF IE" da quelle versioni. Sto ancora cercando una risposta sul web, ma non ne trova una corretta – Alchnemesis