<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    大夢(mèng)想家

    5年開發(fā)工程師,2年實(shí)施經(jīng)理,X年售前顧問,......
    數(shù)據(jù)加載中……
    JavaScript加載器
    今天無意間看到Scriptaculous項(xiàng)目,大概留意了以下他的加載器。

        此項(xiàng)目一共有5個(gè)JS文件,當(dāng)要用此項(xiàng)目到自己的項(xiàng)目中時(shí)只需要:

    <script src="javascripts/prototype.js" type="text/javascript"></script>
    <script src="javascripts/scriptaculous.js" type="text/javascript"></script>

    就可以引入其他的四個(gè)JS了,這里的prototype.js并非必備,如果哦只需要某一個(gè)js被引入則可以使用:

    <script src="scriptaculous.js?load=effects,dragdrop" type="text/javascript"></script>
    是不是很好的功能?自己實(shí)現(xiàn)一個(gè)加載器就省去在頁(yè)面上大量的引入JS的工作了,現(xiàn)在讓我們?cè)倏纯此脑?/pre>
    
    var Scriptaculous = {
      Version: 
    '1.6.5'
    ,
      require: 
    function(libraryName) 
    {
        
    // inserting via DOM fails in Safari 2.0, so brute force approach

        document.write('<script type="text/javascript" src="'+libraryName+'"></script>');
      }
    ,
      load: 
    function() 
    {
        
    if((typeof Prototype=='undefined'||
     
           (
    typeof Element == 'undefined'||
     
           (
    typeof Element.Methods=='undefined'||

           parseFloat(Prototype.Version.split(
    ".")[0+ "." +
                      Prototype.Version.split(
    ".")[1]) < 1.5)
           
    throw("script.aculo.us requires the Prototype JavaScript framework >= 1.5.0"
    );
        
        $A(document.getElementsByTagName(
    "script")).findAll( function(s) 
    {
          
    return (s.src && s.src.match(/scriptaculous.js(?.*)?$/
    ))
        }
    ).each( function(s) {
          
    var path = s.src.replace(/scriptaculous.js(?.*)?$/,''
    );
          
    var includes = s.src.match(/?.*load=([a-z,]*)/
    );
          (includes 
    ? includes[1] : 'builder,effects,dragdrop,controls,slider').split(','
    ).each(
           
    function(include) { Scriptaculous.require(path+include+'.js') }
    );
        }
    );
      }

    }


    Scriptaculous.load();

    一共就兩個(gè)方法,load()判斷加入的JS是什么目錄下的什么文件,以及有沒有prototype.js和他的版本;require()直接調(diào)用document.write()朝頁(yè)面追加JS的引入代碼。自己寫加載器的時(shí)候只需要修改load()方法,加入自己的規(guī)則以及文件名稱,其他的都不需要修改,這樣就可以在頁(yè)面上省去大量代碼了


    客戶虐我千百遍,我待客戶如初戀!

    posted on 2007-07-01 20:40 阿南 閱讀(1728) 評(píng)論(1)  編輯  收藏 所屬分類: JavaScript

    評(píng)論

    # re: JavaScript加載器 2008-06-30 13:08 XLEdoo

    需要注意一下,這里使用了$A和其他的prototype方法,必須首先引入prototype以后才能使用,如果想改來自己用的話需要注意哈!

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 日本高清不卡中文字幕免费| 亚洲精品乱码久久久久66| 免免费国产AAAAA片| 一级特黄aa毛片免费观看| 午夜影院免费观看| 免费A级毛片无码A∨| 免费A级毛片无码专区| 亚洲精品国产免费| 成年在线观看网站免费| 亚洲另类视频在线观看| 亚洲欧洲国产成人精品| 亚洲成aⅴ人片在线观| 亚洲一区在线视频| 亚洲色www永久网站| 亚洲国产精品无码久久九九大片 | 免费播放美女一级毛片 | 久久久精品2019免费观看| 人妻无码一区二区三区免费| 99精品视频在线观看免费播放| 亚洲黄色免费网址| 成人免费无毒在线观看网站| 国产性生交xxxxx免费| 国产精品亚洲mnbav网站| 亚洲成A人片在线观看WWW| 日木av无码专区亚洲av毛片| 国产成人精品日本亚洲网址 | 亚洲av日韩综合一区在线观看| 亚洲黄色三级网站| 亚洲а∨精品天堂在线| 乱淫片免费影院观看| 在线观看特色大片免费网站| 国产精品久久免费| 午夜亚洲av永久无码精品| 亚洲色精品aⅴ一区区三区| 亚洲视频一区二区在线观看| 亚洲人成无码网站在线观看| 又粗又长又爽又长黄免费视频 | 免费黄色一级毛片| 亚洲综合无码AV一区二区| 亚洲理论片在线观看| 粉色视频成年免费人15次|