PHP include()或JS src是否更快地包含文件?

Jon*_*Lam 2 html javascript php server-side client-side

有时当我需要在许多网页中包含相同的元素组时,我使用PHP:

<?php include "somefile.html" ?>
Run Code Online (Sandbox Code Playgroud)

如果somefile.html是这样的:

<h1>TITLE</h1>
<h2>Subtitle</h2>
Run Code Online (Sandbox Code Playgroud)

有时,当我懒得使用PHP并打开我的本地服务器时,我使用JS:

<script src="somescript.js"></script>
Run Code Online (Sandbox Code Playgroud)

什么时候somescript.js是这样的:

document.write(
    "<h1>TITLE</h1>" +
    "<h2>Subtitle</h2>"
);
Run Code Online (Sandbox Code Playgroud)

第二个版本只是更加不方便,但我使用两种方式.

但是,我想知道哪种方式是习惯性的,哪种方式更快.

我知道PHP是服务器端,并且首先被解析为HTML,但即使它在JS之前加载,我也不知道它是否更快.因为JS是客户端,它是由浏览器解析的,可能比向服务器发送请求更快(虽然我不完全确定 - 告诉我,如果我做出不正确的推断).

如果我不清楚,请随时告诉我,并将我重定向到另一个可以提供帮助的页面.

谢谢.

m59*_*m59 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>
Run Code Online (Sandbox Code Playgroud)

请考虑您所包含的脚本位于服务器上,因此必须为其发送请求,并且必须在页面继续或完成加载之前加载它.服务器可能刚刚开始发送该数据.