まず第一に、このコードは機能し、いくつかのアイテムを処理するときは非常に迅速に機能します。ただし、JSONが解析している場合、50以上のアイテムがあるとはいえ、電話でテストする場合はリソースを大量に消費する可能性があります。
誰かが私がJAVAScriptまたはJQUERYの世界で見ることができる機能または機能を提案できますか?
理想的には、これを高速化できない場合は、次のいずれかを実行できるようにしたいと思います。a)取得時にJSONを分割し、[詳細]ボタンを使用して次の25エントリをロードするか... b)画面に表示する必要がある場合にのみ、各エントリを解析します。
よろしくお願いします。
TIA
編集追加するだけで、このサーバー側(限られたリソース)またはエントリを制限する(再びサーバー側)ことができますが、オフラインでダウンロードして携帯電話(またはブラウザー)でデータとプロセスを使用することを目指しています...
function showResultjsonp() {
var retrieveddodlocaldata = localStorage.getItem(jsonpservice);
var json_parsed = $.parseJSON(retrieveddodlocaldata);
for (var d = 0; d < json_parsed.svccurrentaiot_jsonp.length; d++) {
var parseddata = json_parsed.svccurrentaiot_jsonp[d];
$('#eventlist')
.append($('<div data-role="collapsible" data-collapsed="true">')
.html('<h3><img alt="' + parseddata.dataitem.1 + '" src="images/icons/' + parseddata.dataitem.2 + '.gif"> ' + parseddata.dataitem.2 + '</h3><p>' + parseddata.dataitem.9 + '</p>Event ' + parseddata.dataitem.4 + ' ' + unittype + '<br/>Retricted ' + parseddata.dataitem.5 + '<br/>Impact ' + parseddata.dataitem.6 + '<br/>Delay <br/>Lat / Long ' + parseddata.dataitem.7 + ' / ' + parseddata.dataitem.7 + '<br/>Valid to ' + parseddata.dataitem.8 + '</div>'));
}
$('div[data-role=collapsible]').collapsible();
};
このページとhttp://twitter.github.com/hogan.js/の貢献に感謝するソリューション
function showResultjsonp() {
var retrieveddodlocaldata = localStorage.getItem(jsonpservice);
var json_parsed = $.parseJSON(retrieveddodlocaldata);
var datatemplate = Hogan.compile('<div data-role="collapsible" data-collapsed="true"><h3><img alt="{{item}}" src="images/trafficicons/{{item}}.gif"></div>');
// store for all rendered items
var result = "";
for (var d = 0; d < json_parsed.svccurrentaiot_jsonp.length; d++) {
var parseddata = json_parsed.svccurrentaiot_jsonp[d];
//result += render(parseddata);
result += datatemplate.render({"item" : parseddata.dataitem.item});
console.log(result);
}