我有一个产品搜索,我正在发送回结果,每个结果都包含两个按钮 JQM 控制组。
我一次发送 24 条记录,因此需要增强 24 个控制组,如下所示:
<div data-role="controlgroup" data-type="horizontal" class="submitButton linkBox">
<input type="button" class="singleLoader" data-brand="#d#" data-index="#e#" value="#tx#" />
<input type="button" class="selector" data-brand="#d#" data-index="#e#" data-iconpos="notext" data-icon="fav" value="#tx#" />
</div>
如果我将控制组作为纯 HTML 发送并在客户端上增强它们,则服务器响应为1sec
,数据发送20k
,页面明显停滞了大约 1-2 秒,可能是因为 JQM 正忙于增强控制组。
我现在正在尝试替代方案,即
$.mobile.ignoreContentEnabled = true;
并发送完全增强的标记而不是对照组。所以现在我发送这个:
<div data-enhance="false" class="ui-corner-all ui-controlgroup ui-controlgroup-horizontal">
<div class="ui-controlgroup-controls">
<div data-icon="" data-iconpos="" class="ui-btn ui-corner-left ui-btn-up-c" aria-disabled="false">
<span class="ui-btn-inner ui-corner-left">
<span class="ui-btn-text">#tx#</span>
</span>
<input type="button" value="#tx#" class="ui-btn-hidden" aria-disabled="false">
</div>
<div data-icon="fav" data-iconpos="notext" title="#tx#" class="ui-btn ui-btn-icon-notext ui-corner-right ui-controlgroup-last ui-btn-up-c" aria-disabled="false">
<span class="ui-btn-inner ui-corner-right ui-controlgroup-last">
<span class="ui-btn-text">#tx#</span>
<span class="ui-icon ui-icon-fav ui-icon-shadow"> </span>
</span>
<input type="button" value="#tx#" data-icon="fav" data-iconpos="notext" class="ui-btn-hidden" aria-disabled="false">
</div>
</div>
</div>
这增加了转移的大小34k
和响应时间1.5sec
,但是页面感觉明显更快,因为没有什么可以增强的。不过我也读过使用data-enhance=false
,这对设备性能造成影响。
问题:
还有其他人有如何处理这个问题的经验吗?如果页面感觉更快,我是否应该选择大文件大小/传输时间/性能影响?