Javascript 用于浏览器的在线表情键盘
我在网上写了一个表情键盘(可能叫它表情选择器,表情选择器)。一切正常,但内存优化有一个问题。我的数据存储在一个json文件中。它有2000条记录(大小为600kb)。我使用ajax将其加载到内存中:Javascript 用于浏览器的在线表情键盘,javascript,jquery,ajax,memory,memory-management,Javascript,Jquery,Ajax,Memory,Memory Management,我在网上写了一个表情键盘(可能叫它表情选择器,表情选择器)。一切正常,但内存优化有一个问题。我的数据存储在一个json文件中。它有2000条记录(大小为600kb)。我使用ajax将其加载到内存中: function loadData(){ json = (function () { json = null; $.ajax({ 'async': false, 'global': false, 'url': 'data.json', 'dataType': "jso
function loadData(){
json = (function () {
json = null;
$.ajax({
'async': false,
'global': false,
'url': 'data.json',
'dataType': "json",
'success': function (data) {
json = data;
}
});
return json;
})();
}
在文件准备就绪时,我称之为
$(document).read(function(e){var data = loadData();});
在PC、Mac和高RAM(>=GB)的智能手机上,一切都运行良好。对于较弱的设备,我觉得效果不好。有时,如果连接不足,我会收到消息“……页面需要重新加载”。
我知道在内存中保存一个大的json文件不是一个好的处理方法。但我需要这些数据来处理。在这种情况下我能做些什么?我只使用jquery、js、html和css。没有用于web的动态语言,如PHP、Java。。。在这种情况下,建议使用
我找到了解决办法,但我不知道这是好是坏。对我来说,这确实减少了加载时间。解决方案是:将数据嵌入html文件。使用外部文件总是会发出更多请求并降低性能。使用概念。而不是加载所有内容。根据用户需要加载。