繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM