包含和条件与传统的多文件请求

时间:2011-11-03 18:32:47

标签: php javascript html

所以,最近,在累积了不少js和css文件之后,我开始考虑我正在进行的所有http调用。

由于我使用PHP inlcude作为页眉和页脚,每个页面都调用了每个非常低效的脚本。所以我开始在带有php的页面中使用条件语句来只调用所需的文件。

然后我想,嘿,通过制作一个巨大的css.php和一个来减少所有这些http调用(即使现在每个页面都有多个外部js或css文件)也不会更聪明巨大的js.php,只是将它们分别包含在页眉和页脚中,并在这些文件中使用条件语句?

最终结果是那些大文件将被处理服务器端,并且每个页面将直接在头部和jss直接在主体底部获得其css,其中包含所需的所有代码,并且不超过这一点。

有什么理由不这样做吗?关于这个想法的一般想法?其他人是否已经这样做了,我只是错过了船?

4 个答案:

答案 0 :(得分:1)

如果您真的担心所有的http调用,请考虑详细了解PHP和AJAX(jQuery)。如果做得好,它可以非常快 - 而且也很酷。此外,请记住,在大多数情况下,您的浏览器将缓存您的css / js。

答案 1 :(得分:0)

您可以将以下代码添加到js.php(第一个代码行)

  <? 
   Header("content-type: application/x-javascript");

这是对css.php

  <? 
   header("Content-type: text/css");

答案 2 :(得分:0)

那么,除了进行HTTP调用之外,您的浏览器还会使它们成为有条件的。并且从服务器获得响应只有一个HEADER而不是acctual文件,它已经很好地在浏览器中兑现了。

如果您仍然认为这些HTTP调用对您的服务器来说过于沉重 - 请不要忘记在伪造的JS文件中实现相同的行为。

答案 3 :(得分:0)

我本来希望将这个答案授予Marc,但他没有正式回答,其他人都不在。也许我没有清楚地问过这个问题。

无论如何,答案是这不应该真的完成,好像每个页面只获得它需要的css和js以及避免无关的HTTP请求是有效的,结果文件对于每个页面总是唯一的页面,因此,实际上不可缓存。

感谢大家的投入!