<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 之后
    主站蜘蛛池模板: 免费一看一级毛片| 青青在线久青草免费观看| 免费人成激情视频| 亚洲欧美日韩综合久久久久| 无码国产精品一区二区免费式直播| 亚洲成熟xxxxx电影| 无码免费一区二区三区免费播放| 亚洲日本va中文字幕久久| 中文毛片无遮挡高清免费| 国产午夜亚洲精品国产成人小说| 一级毛片在播放免费| 国产亚洲美女精品久久久| 国产美女视频免费观看的网站| 亚洲精品无码不卡在线播HE| 国产日韩一区二区三免费高清| 国产亚洲福利精品一区| 久久这里只精品99re免费 | 免费**毛片在线播放直播| 亚洲国产欧洲综合997久久| 国产精品久久香蕉免费播放| 国产综合成人亚洲区| 国产亚洲美女精品久久久| 永久免费不卡在线观看黄网站| 亚洲成AV人片一区二区| 亚洲网站免费观看| 亚洲综合精品成人| 亚洲精品成人久久久| 免费播放在线日本感人片| 亚洲综合激情九月婷婷 | 亚洲午夜福利在线视频| 国产老女人精品免费视频| 免费在线观看一区| 亚洲Av无码精品色午夜| 永久免费AV无码国产网站| 国产精品亚洲专区在线播放| 亚洲国产第一站精品蜜芽| 成人在线视频免费| 精品熟女少妇aⅴ免费久久| 亚洲毛片在线免费观看| 国产成人免费ā片在线观看| 日本高清不卡aⅴ免费网站|