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

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

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

    posts - 82, comments - 269, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    JS實現include功能(提供完整的示例下載)

    Posted on 2007-03-21 09:07 itspy 閱讀(8979) 評論(3)  編輯  收藏 所屬分類: JAVA技術

    JS沒有直接提供import這個功能,我想肯定有人遇到過這類問題。用baidu搜索了一下,找到了一些但都比較亂,看不太明白,郁悶了2天,后來想一想用google搜索一下。結果找到了幾個網頁講的蠻清楚的。

    http://www.cryer.co.uk/resources/javascript/script17_include_js_from_js.htm

    然后做了一個簡單的實驗。發現效果不錯。


    順便介紹一下應用場景,就好像設計模式一樣,一個東西總要有他的應用場景,平常我們開發時,直接在網頁里面通過“<SCRIPT src="include.js"></SCRIPT>”這種方式添加JS好的很嘛,干嘛要費力引入這種新的方式呢。

    在開發JS框架時肯定是要用到這種方法,開發框架時你要求開發者使用你的庫,但要同時引入好幾個文件,這樣會給人帶來很不好的體驗。

    另外一種就是我現在遇到的:我寫了幾個頁面,針對這些頁面引入的所有JS函數我全部在一個JS文件中了。但我出于調試的需要,我要引入一個JS庫(firebuglite),這個庫專門用來打印log,如果不引入的話,我寫的這些JS就會出錯,也就是我要找出哪些頁面引用了我的這個JS文件。然后在所有的頁面通過<SCRIPT src="include.js"></SCRIPT> 的方式來添加這個打印log的庫。

    我當時就想,既然只有我的這個JS文件要用,我干嘛不通過include直接把它包含進來,這樣就只要添加一處就行了,不要在每個頁面都去添加,一不小心就忘記加錯了,或者是將來不要了,又忘記刪除,留下一推垃圾。這就是我之所以使用include的原因。或者是別人引用了我的包,而我不知道,這樣也會形成錯誤,如果使用這種include就不會這樣了。

    ?

    ?

    示例下載地址:http://m.tkk7.com/Files/itspy/AJAX.rar

    firebuglite:http://www.getfirebug.com/docs.html

    因為使用了相對目錄來include,最好全部解壓縮之后才能運行,不能直接在壓縮包中運行。


    核心代碼:
    function IncludeJavaScript(jsFile)
    {
    ? document.write('<script type="text/javascript" src="'
    ??? + jsFile + '"></script>');
    }


    評論

    # re: JS實現include功能(提供完整的示例下載)  回復  更多評論   

    2007-03-21 13:23 by boolean
    prototype effect早就這么用了,建議看一眼

    另外我一般把要用的js寫到一個模版里(取名commonjs.htm),具體內容如下:
    #set($arr = "prototype,effect,system")
    #set($split = ",")
    #set($split = $split.ToCharArray())
    #set($arr = $arr.Split($split))
    #foreach($script in $arr)
    <script src="/js/${script}.js"></script>
    #end
    然后把這個文件加入到通用部件(如footer.htm)中
    $vh.Include($ctx, "/include/commonjs.htm")

    # re: JS實現include功能(提供完整的示例下載)  回復  更多評論   

    2007-03-21 18:05 by itspy
    @boolean


    prototype effect早就這么用了,建議看一眼

    不好意思,能不能告訴我在哪?我沒找到prototype里面有effect,能給個URL嗎?

    # re: JS實現include功能(提供完整的示例下載)  回復  更多評論   

    2007-09-10 14:31 by leonzhu
    還是同樣的問題。
    file2.js 通過 document.write 引用 file1.js 時,并不能立即調用 file1.js 中的函數。file1.js 的 parse 發生在 file2.js 之后
    主站蜘蛛池模板: 又粗又大又长又爽免费视频| 成人免费无码大片a毛片软件| 国产在线不卡免费播放| 亚洲夂夂婷婷色拍WW47| 在线v片免费观看视频| 亚洲国产成人精品无码区在线秒播 | 国产精品免费观看| 精品亚洲麻豆1区2区3区| 182tv免费视视频线路一二三| 久久亚洲精品国产精品| 免费观看无遮挡www的视频| 亚洲一级免费视频| 麻豆国产入口在线观看免费| 精品亚洲av无码一区二区柚蜜| 又粗又硬又黄又爽的免费视频 | 波多野结衣亚洲一级| 色妞WWW精品免费视频 | tom影院亚洲国产一区二区| 毛片高清视频在线看免费观看| 亚洲sm另类一区二区三区| 国产三级免费电影| 羞羞视频免费网站日本| 亚洲国产精品成人久久| 国产成人精品免费视| 亚洲夂夂婷婷色拍WW47| 亚洲国产综合久久天堂| 桃子视频在线观看高清免费视频| 亚洲第一成年人网站| 四虎影视永久免费观看地址 | 亚洲av永久无码精品三区在线4| 性xxxx视频播放免费| 一个人看的www免费高清| 亚洲视频在线观看一区| 在线a人片天堂免费观看高清| jizz免费在线影视观看网站| 久久精品国产亚洲77777| 日韩免费视频在线观看| 青青草原1769久久免费播放| 国产午夜亚洲精品| 亚洲va久久久噜噜噜久久男同| 最近中文字幕无吗高清免费视频|