有时当我需要在许多网页中包含相同的元素组时,我使用PHP:
<?php include "somefile.html" ?>
somefile.html
是这样的:
<h1>TITLE</h1>
<h2>Subtitle</h2>
有时,当我懒得使用PHP并打开我的本地服务器时,我使用JS:
<script src="somescript.js"></script>
当somescript.js
如下:
document.write(
"<h1>TITLE</h1>" +
"<h2>Subtitle</h2>"
);
第二个版本稍微不方便,但我使用两种方式。
但是,我想知道哪种方式是习惯性的,哪种方式更快。</ p>
我知道PHP是服务器端,并且首先被解析为HTML,但即使它在JS之前加载,我也不知道它是否更快。因为JS是客户端的,所以它是由浏览器解析的,可能比向服务器发送请求更快(虽然我不完全确定 - 告诉我我是否做出了不正确的推断)。
如果我不清楚,请随时告诉我,并将我重定向到另一个可能有用的页面。
感谢。
答案 0 :(得分:5)
第二种方式不仅表现更差,而且由于document.write()
的工作方式,可能会删除整个页面。您不应该使用document.write()
,除非您非常确定需要,这很少见。我所知道的唯一可以接受的情况是cdn传递的javascript的后备。您可以使用它来编写本地副本的脚本标记,如下所示:
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>window.jQuery || document.write('<script src="sys/lib/jquery.js"><\/script>')</script>
请考虑您所包含的脚本位于服务器上,因此必须为其发送请求,并且必须在页面继续或完成加载之前加载该脚本。服务器可能刚刚开始发送该数据。
答案 1 :(得分:3)
第一种肯定是更习惯,更有效,更快。
这些是我可以指出的行动,只需从非常高的层次上统计网络和i / o交互。
php包括:
js包括:
答案 2 :(得分:0)
服务器的第一种方法较慢,而客户端的第二种方法较慢。但实际上,这两种方法对于正常使用情况应该足够快。我会推荐第一种方法。