2008-12-23 67 views

回答

0

如何:

original link

<script type="text/javascript"> 
// Function to allow one JavaScript file to be included by another. 
// Copyright (C) 2006-08 www.cryer.co.uk 
function IncludeJavaScript(jsFile) 
{ 
    document.write('<script type="text/javascript" src="' 
    + jsFile + '"></scr' + 'ipt>'); 
} 
</script> 

,然後包括第二JavaScript文件只需添加一行:

IncludeJavaScript('secondJS.js'); 

從來到該頁面包含的一些陷阱這是由這種方法引起的,所以在使用該方法之前值得一看。

+0

如果您在文檔加載之後使用該文件,您會驚訝,因爲document.write將替換您的活動文檔。 – some 2008-12-23 08:23:54

+0

另外,不需要將結束標記分爲兩部分。由於根據(x)HTML DTD的腳本標籤中的所有內容都是PCDATA(已解析的字符數據),所以您必須轉義結束標記」 – some 2008-12-23 08:30:56

+0

應該是DOM組裝,這使得第二個點未嘗試 – annakata 2008-12-23 08:45:21

3

有圖書館會爲你做這個。您還可以在文檔中添加一個腳本標籤,指向要加載的文件(來自js),這是最簡單但存在問題的文件。

http://developer.yahoo.com/yui/yuiloader/

http://www.appelsiini.net/projects/lazyload

編輯:我看到了很多,一個腳本標記添加到您的文檔的頭部答案。正如我所說,這個簡單的解決方案有一個問題,即您不知道瀏覽器何時完成加載您請求的腳本,因此您無法知道何時可以調用此代碼。如果你想使用這樣的解決方案,你還應該添加一個回調以告訴你什麼時候加載了所需的代碼。

5

大多數人的JavaScript文件添加到文檔的頭:

<script type="text/javascript"> 
    var newfile=document.createElement('script'); 
    newfile.setAttribute("type","text/javascript"); 
    newfile.setAttribute("src", '/myscript.js'); 
    document.getElementsByTagName("head")[0].appendChild(newfile); 
</script> 
0

也Theres建成Scriptaculous的功能,這是非常容易使用。

Scriptaculous.require("path/to/script.js"); 

值得了解,因爲Scriptaculous是最近很常見的JavaScript庫。

2

jQuery具有getScript()函數。另請注意,上面提到的Lazy Load僅用於圖像。不適用於JavaScript文件。

$.getScript(url, [callback]); 
相關問題