所以,我有一个重复多次的div:
<div class="cmi cm_1_1">
<span class="cm_img">
<i class="icons">icon_1</i>
</span>
<span class="cm_w">
something
</span>
<span class="cm_img">
<i class="icons">icon_2</i>
</span>
<span class="cm_w">
else
</span>
... and so on till cm_1_10
</div>
唯一不同的是图标类型和内部措辞。但标记是相同的。
我正在考虑对此进行js渲染,因此反复使用相同的标记(我将简单地通过ajax传递措辞)。
或者,我应该在服务器端(php)渲染整个东西吗?
答案 0 :(得分:2)
你应该制作一个PHP函数来渲染这样的块,除非你计划在文档加载后动态渲染div。
使用JS进行渲染意味着受到客户端缓存的影响,因此如果您显示某些内容而不是更新内容,则可能是用户在刷新浏览器缓存之前不会获得最新版本。因此,用js渲染可能不是一个好主意。
这是以前的同类问题,答案更详细:PHP vs JavaScript For Dynamic HTML Pages
答案 1 :(得分:1)
在我看来,最重要的是要考虑您创建的页面是静态还是动态。如果是静态的,请去服务器端解决方案。如果在加载页面后更改内容,请转到客户端解决方案(可能使用某些js库),以便只更新更改的内容。
答案 2 :(得分:1)
JS和PHP中的模板有不同的缺点。
JS加载速度更快,但如果需要做很多事情(数百个元素),可以使DOM挂起/延迟一瞬间。优点是HTML代码段可以缓存并在下次访问时重复使用,因此只需要加载数据。
PHP加载速度较慢,但是如果你能够将GZIP添加到PHP输出中,它将压缩模板化和预渲染的HTML并且输出加载速度很快,但加载速度仍然比javascript慢。
因此,这取决于您的使用情况,但两者都是有效的解决方案。