我正在制作一个jquery自动完成,我有一些介于10到20k之间的寄存器
数据是静态的(我会在需要时运行更新脚本),我可以选择从json获取文件或在页面中嵌入一行,如:
var title = ["example title 1","example title 2"];
我应该选择哪一个,性能明智? (我也担心崩溃/落后人们的浏览器)..以及XML如何?
顺便说一句,我的php脚本已经在使用html的缓存系统
了答案 0 :(得分:2)
您应该将数组放在单独的.js
文件中,然后通过<script>
加载它。这使浏览器可以将其与HTML页面分开缓存(可能会更频繁地更改)。
答案 1 :(得分:2)
您应该考虑使用JSON而不是AJAX来获取数据。这将使您的页面看起来像加载更快。然后,您可以使用WebWorkers(如果系统支持它们)在单独的线程中解析JSON数据。这是个主意。
500kb的JSON可能不会导致任何显着的解析开销,所以我不担心崩溃任何人的浏览器。
答案 2 :(得分:1)
在性能方面,数组是更好的选择。尽管JSON是自然的javascript格式,但JSON中的对象实例化比字符串数组的创建要慢。它也更小,您将体验网络传输。