2017-06-02 111 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等資源打印到文件中以加快加載速度對我來說絕對是不好的做法。現代瀏覽器最終在用戶打你的第一頁時緩存它們。

據我可以嘗試來縮小你的資源文件,以更快的加載它們,提高緩存如果你想,但沒有必要的,因爲所有現代瀏覽器在處理現在緩存不錯。