2013-03-05 77 views
3

我有一個網站,其中包含某種需要30行腳本的插件。 這樣的插件存在於整個網站頁面(到目前爲止,只有兩個),因爲它是標題的一部分,也是相同的。在網站上全局加載腳本

我想知道是否有一種方法可以避免每次從頁面切換到下一個頁面時執行30行的腳本,因爲標題是相同的,因此可以縮短加載時間。 (如果你說30行代碼對瀏覽器來說不算什麼,那麼我的問題將得到解答)

+0

取決於30行!運行它可能是無關緊要的或者非常昂貴的(例如,在一個大集合上迭代可能代碼量不大,但可能佔用大量CPU時間)。 – BLSully 2013-03-05 14:36:01

回答

4

不用擔心,腳本將被瀏覽器緩存,不會再次下載。大約30行代碼很多或不是:取決於這些行是幹什麼的!只需幾行代碼甚至一行代碼就可以編寫極其昂貴的代碼。

+4

這個。但是我也可以爲OP的好處添加,即使_source_被緩存,它會執行每一頁加載(因爲執行上下文不會在頁面之間持續存在,即使在同一個網站上)。如果您想保持JavaScript的狀態,請考慮通過ajax加載頁面並使用History API – BLSully 2013-03-05 14:38:39

+0

謝謝BLSully。其實,我與AJAX加載一個網站,但我不得不說,你不能鏈接到內容的網站example.com的問題,因爲你總是處於example.com/# bfavaretto說劇本被緩存,並30行代碼可能不多,所以現在我不擔心。 非常感謝你們! – Nico 2013-03-05 22:57:52

+1

@Nico爲了澄清,當我說它被緩存時,我的意思是它不必再次下載,但是它必須在每次頁面加載時執行(從緩存中)。如果整個網站都是由Ajax驅動的,那麼情況就不是這樣,但是它也帶有它自己的問題,正如你可能已經注意到的那樣。 – bfavaretto 2013-03-06 01:36:28