JS渲染或PHP渲染以重复标记

时间:2016-02-12 08:41:06

标签: javascript php

所以,我有一个重复多次的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)渲染整个东西吗?

3 个答案:

答案 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慢。

因此,这取决于您的使用情况,但两者都是有效的解决方案。