2017-06-02 105 views
1

为了减少http请求,可以使用php来内联css和js吗? 例如:使用PHP在HTML内部回显css和js的内容

<style> 
<?php echo require_once("css/style.css"); ?> 
</style> 


<script> 
<?php echo require_once("js/myjs.js"); ?> 
</script> 
+10

你可以做我猜(滴'echo'虽然)......但是这不会是从长远来看尤其有益。浏览器会缓存'.css'或'.js'文件的第一页上,然后访问者命中使用,以后每页面 - 你在做什么这里将意味着你所有的JS/CSS将需要加载在*每*页;即为整个站点减少1个http请求(每个资源),代价是增加每个*页上的文件大小。 – CD001

回答

3

我打算先回答你的问题的后半部分,然后再应用前半部分。

是可以内联css和js使用php” - 是的。在某些情况下,将CSS和JS添加到文档内部的样式表中是一个好主意。

然而,你的方法可以做很多改进。一个快速的方法来做到这一点是使用file_get_contents这样的:

echo '<style type="text/css">'.file_get_contents('/path-to-your/style.css').'</style>'; 

唯一的情况下,我建议抓住文件的内容和将它们添加到文档直接是介入的CMS系统,如WordPress的编写插件的情况下或Joomla等

有时候,你的插件可能只需要利用5 - 10行CSS和/或JS,这将是不好的形式来强制用户添加另一个样式表的http请求这么少的代码。在这些情况下,我会建议加载内部样式表/脚本。

这不是一个好主意,这样做是为了“减少HTTP请求”作为您的问题上半年已要求。如果你真的想减少你的http请求,那么你应该认真考虑合并你的样式表和脚本文件。有一些大文件比很多小文件更好。

+1

谢谢,没有想到这个,这非常有帮助。 – Srijay

2

这看起来对我来说是一个非常糟糕的做法。另外,我不明白你在这里会有什么表现,更像是相反的情况。

你应该更专注于何时你真的需要加载你的js和css。缩小它也应该有所帮助。

2

将JS或CSS等资源打印到文件中以加快加载速度对我来说绝对是不好的做法。现代浏览器最终在用户打你的第一页时缓存它们。

据我可以尝试来缩小你的资源文件,以更快的加载它们,提高缓存如果你想,但没有必要的,因为所有现代浏览器在处理现在缓存不错。