<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 閱讀(8993) 評論(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女人刺激视频免费| 久久久久久99av无码免费网站| 亚洲剧场午夜在线观看| **aaaaa毛片免费| 亚洲成a人片毛片在线| 亚欧在线精品免费观看一区| 亚洲一卡2卡3卡4卡国产网站| 日韩在线免费视频| 亚洲国产精品无码第一区二区三区 | 91黑丝国产线观看免费| 亚洲人成人77777网站不卡| 成人奭片免费观看| 女bbbbxxxx另类亚洲| 亚洲国产成人久久精品99| 三级网站免费观看| 99久久精品国产亚洲| a级毛片无码免费真人| 99亚洲男女激情在线观看| 日本亚洲国产一区二区三区| 久久精品国产免费一区| 亚洲成a人片在线观| 日韩一级视频免费观看| 国产精品免费αv视频| 亚洲自偷自偷精品| 国产精品酒店视频免费看| j8又粗又长又硬又爽免费视频| 国产亚洲一区二区三区在线| 在线观看永久免费| 青青免费在线视频| 久久久久久亚洲av成人无码国产| 99精品国产免费久久久久久下载| 国产亚洲女在线线精品| 久久精品亚洲中文字幕无码网站| 精品久久久久成人码免费动漫 | 国产亚洲精品影视在线| 亚洲精品tv久久久久| 67pao强力打造国产免费| 国产亚洲精品国产福利在线观看| 亚洲国产另类久久久精品黑人 |