D3.js数据处理与格式化全解析
1. 数据获取与请求控制
1.1 合法参数与参考资料
在进行数据获取时,可查看MDN Fetch参考文档获取所有合法参数列表,例如MDN Request Cache Reference和Cache Control for Fetch。
1.2 使用RequestInit对象控制请求
多数情况下,相关函数无需额外调整即可正常工作,但API的简单便捷掩盖了底层的复杂性。可使用RequestInit对象控制远程通信的各个方面,该对象是表6 - 1中所有函数的可选参数。
1.2.1 缓存控制
浏览器可能会缓存从远程位置获取的资源,这可能导致远程资源的更改在浏览器中不可见,尤其是在开发过程中,这会成为一个大问题。可通过将 cache 属性设置为 no - store 来防止浏览器缓存远程资源,示例代码如下:
d3.svg( "heart.svg", { cache: "no - store" } ).then( ... );
不过,在生产环境中防止浏览器端缓存会造成资源浪费,资源缓存的细节可能很复杂,可查看相应参考资料。
1.2.2 第三方资源与CORS
使用Fetch API从第三方网站加载资源时,可能会遇到奇怪的失败和权限问题。这可能是由于浏览器的同源策略和跨源资源共享(CORS)机制限制了JavaScript对第三方资源的访问。CORS协议在浏览器和服
超级会员免费看
订阅专栏 解锁全文


被折叠的 条评论
为什么被折叠?



