[英]JS render or PHP render for repeating markup
所以,我有一个重复多次的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)渲染整个东西?
你可能应该创建一个PHP函数来渲染这样的块,除非你计划在文档加载后动态渲染div。
使用JS进行渲染意味着受到客户端缓存的影响,因此如果您显示某些内容而不是更新内容,则可能是用户在刷新浏览器缓存之前不会获得最新版本。 因此用js渲染可能不是一个好主意。
这是以前的同类问题,有更详细的答案: PHP与JavaScript对于动态HTML页面
在我看来,最重要的是要考虑您创建的页面是静态的还是动态的。 如果是静态的,请去服务器端解决方案。 如果在加载页面后更改内容,请转到客户端解决方案(可能使用某些js库),以便仅更新更改的内容。
JS和PHP中的模板有不同的缺点。
JS加载速度更快,但如果需要做很多事情(数百个元素),可以使DOM挂起/延迟一瞬间。 优点是HTML代码段可以在下次访问时被缓存和重用,因此只需要加载数据。
PHP的加载速度较慢,但是如果你能够将GZIP添加到PHP输出中,它将压缩模板化和预渲染的HTML并且输出加载速度很快,但仍然比javascript加载慢。
所以这取决于您的使用情况,但两者都是有效的解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.