Noob在这里提问,但我在其他地方找不到合适的答案。我有一个在Flask中编写的webapp,根据请求生成大量的选择框,其中包含以下代码:
{% for hour in hours %}
<tr>
<td>{{ hour }}</td>
{% for date in dates %}
<td>
<div id="select_{{ date }}_{{ hour }}" style="display:none;">
<select name={{ "time" + "_" + date + "_" + hour }}>
<option value="00" >{{ hour }}:00</option>
<option value="15" >{{ hour }}:15</option>
<option value="30" >{{ hour }}:30</option>
<option value="45" >{{ hour }}:45</option>
</select>
<select onchange="this.form.submit()" name={{ "value" + "_" + date + "_" + hour }}>
{% for option in options %}
<option value="{{ option|safe }}" >
{{ option|safe }}
</option>
{% endfor %}
</select>
</div>
<div id="plus_{{ date }}_{{ hour }}" style="display:block;">
<a href="javascript:;show_select('{{ date }}', '{{ hour }}')" onClick="">+</a>
</div>
</td>
{% endfor %}
</tr>
{% endfor %}
其中dates
和hours
显然是包含日期和小时的列表,options
是包含大量选项的列表。总而言之,我的HTML文档最终大小超过1 MB。如果我想减小这个尺寸,我有什么选择?
谢谢, 菲利普
答案 0 :(得分:0)
您可以将此模板转换为某些JavaScript代码并重复执行document.write
或设置不同元素的innerhtml
属性。在HTML5中,您可以使用template
tag。模板支持由许多库提供,例如jquery,mustache等,可能使用上述技术实现。