D3.json将缓存设置为false
我注意到用json调用( d3.json
)重绘D3元素不希望在IE9 +上更新。 原因是json调用被缓存,因此浏览器不会在新数据传递时注册。 正常jQuery ajax调用的解决方法是将其属性设置为cache:false,全局用于所有ajax调用:
$.ajaxSetup({ cache: false });
但是如何将它添加到d3.json
调用中,因为它使用自己的方法来调用ajax? 我成功地在路径后添加当前时间戳:
var noCache = new Date().getTime(); d3.json(data + "?_=" + noCache)
但这样做有点蹩脚……任何建议我怎么能做到这一点? 或者更好的是,如果IE正在运行,如何设置这个:)
我遇到过同样的问题。 我通过将此代码添加到html文档的HEAD中来解决它。
但是,这将阻止某个页面中每个对象的缓存,因此请小心使用图像,字体等。