2013-05-21 78 views
0

我在很多網站中使用jQuery,原因很明顯。所以我只是將它包含在header.php文件中。我還包括其他JavaScript庫所以最終我得到的是這樣的:是否包含未使用的JavaScript文件是一種不好的做法?

<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script> 
<script type="text/javascript" src="http://example.com/js/classes.js"></script> 
<script type="text/javascript" src="http://example.com/js/common.js"></script> 

有有時甚至包括其中一些我在1-2頁只使用。將這些JavaScript文件包含在其他頁面中是否是一種好的做法?它會降低性能嗎?我的意思是,我知道他們必須第一次被下載,但他們會被緩存,不是嗎? 那麼只有包含(不使用它)如何影響性能?緩存的文件如何改變這種情況?

如果它影響到性能,我應該這樣做:

<?php if (JSFileNeeded) { ?> 
    <script type="text/javascript" src="http://example.com/js/classes.js"></script> 
<?php } ?> 

我可以使用哪些其他技術來擺脫未使用的文件包括?

+1

正確緩存腳本後,後續頁面訪問應該有所不同。受影響最大的頁面是第一次處女頁面訪問。 –

回答

1

我推薦使用requireJS所有你的JavaScript依賴需求:http://requirejs.org/。它可能比使用後端代碼打開和關閉腳本標記更加優雅。

無論哪種方式,它通常是一個壞主意,包括那些未使用的文件,即使他們緩存他們仍然佔用內存。如果它們沒有被緩存,那麼額外的連接和更多的位將會減慢你的頁面。

在寬帶連接未使用的文件是不可能太大的差別。但是,如果通過間歇性數據連接在電話上查看該頁面,則可能導致頁面變慢甚至無法加載。

+0

也存在包含但未使用的腳本更改/銷燬全局名稱空間中的數據或運行不需要的全局代碼的風險。 –

+0

即使使用文件中的代碼,該風險仍然存在。 –

+0

這是,但是當有問題的劇本不存在時「更有可能錯過」。 –

相關問題