作者musie (Sirius)
看板Ajax
標題Re: [問題] 關於js的遠端載入問題
時間Fri Nov 11 14:24:30 2011
我們是採取動態呼喚js,例如我們要用到fancyBox,但不知道載入了沒..
在ready function裡面,我們就寫
var loader = new Array();
if(typeof $.fancybox == "undefined"){
loader.push($.getScript("/jquery.fancybox-1.3.4.pack.js"));
}
$.when.apply($, loader).done(function(){}).fail(function(){
alert("load Javascript lib error");
});
※ 引述《robinnpca (rob)》之銘言:
: 想請問一下
: 我有兩個網頁
: 都是同樣的外掛js
: 當客戶端
: 瀏覽第一頁時 會從遠端載入外掛的js
: 比如說1.js 2.js
: 但是在瀏覽第二頁時
: 會重新從遠端再次下載一次js嗎?
: 還是在用戶端的快取裡面
: 所以可以馬上再次取得!不用向遠端在發出請求?
: 這問題的來源是想說
: 到底要不要將
: 『自設功能的js分割開來 另外存成一個檔來外掛入html』
: 因為如果每次都要再從遠端載入一次的話
: 那就直接寫在html的javascript中就好了!(因為每次都是要取的分成兩三個檔案
: 會更麻煩 雖然本頁會變得很肥...)
: 如果可以不用再次向遠端取的話
: 那就可以在瀏覽第一頁時就已經下載過一次1.js 2.js
: 那第二頁的html就可以只要外掛即可!即可減少不少流量...
: 但不知道原理是哪一種!請教...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.146.228.192
1F:推 robinnpca:這是查是否動態載入..但我想問的是是否需要『再次』從 11/11 15:08
2F:→ robinnpca:遠端載入(之前的js不知會不會存成cookie) 11/11 15:08
3F:→ musie:那我搞錯了問題..js也是有暫存,但視同一個文檔.. 11/11 15:26
4F:→ musie:放在temp底下,至於要不要再次載入,每個瀏覽器不同 11/11 15:27
5F:→ musie:檢查的方式,但是為了效能通常短時間內同一js不會重抓 11/11 15:28
6F:推 robinnpca:每個瀏覽器不同歐!那有方法可以檢測嗎?FF和opera 11/11 16:05
7F:推 herb123456:meta cache-control 是你要的嗎? 11/20 04:18