我有一些与下拉列表中的项目相关联的预设值。由于列表很大,我不想将它们存储在带有if else
块的js文件中。
我发现我可以用json格式存储它们,但似乎jquery.getJson()
使得http获取请求,即使文件存储在本地也是如此。这可能会在获取值时增加一些延迟。在我的情况下,即时响应非常重要,因为这些值将在实时声音编辑功能期间更改。
我想可能是我可以在页面加载本身上加载这些值并将其存储在某个变量中,然后在需要时执行if else
以查找特定值。虽然我不确定这是否是正确的方法。请建议。
答案 0 :(得分:2)
您是否考虑过DOM storage。
看看这个并检查它是否符合您的任何目的。
答案 1 :(得分:0)
嗯,根据您的要求,您必须通过包含js文件来加载它们。 在主html中,你有:
<script>
var GlobalData = {};
</script>
<script src="albums.js"></script>
<script src="songs.js"></script>
...
然后,在albums.js
(或任何其他文件)中,您有:
GlobalData.albums = [
//... your data here
];
然后,要在需要时访问这些数据,只需直接进行操作
alert(GlobalData.albums.length);
但是,如果数据量很大,最好不要总是在内存中。您可以动态加载它或将其保存在localStorage
。
干杯
答案 2 :(得分:-1)
你提到了jQuery,所以我猜$.data
会做到这一点 - http://api.jquery.com/data/