簡體   English   中英

將js文件嵌入另一個

[英]Embed js file in another

如何將以下內容嵌入js文件

    <script src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>

您不能 JavaScript文件嵌入另一個文件中。 但是您可以使用此功能動態加載更多JavaScript文件。

function loadJS(file) {
    // Grab the head element
    var head = document.getElementsByTagName('head')[0];

    // Create a script element
    var script = document.createElement('script');

    // Set the type
    script.type = 'text/javascript';

    // Set the source file
    script.src = file;

    // Add the script element to the head
    head.appendChild(script);
}

如果要使用純JavaScript進行此操作:

function loadJS(url) { //url is the string of the URL of the resource to fetch
    var oReq = new XMLHttpRequest(); //create a new XMLHttpRequest and call it oReq
    oReq.addEventListener("load", function(){eval(this.responseText)}); //evaluates the contents of the file once fetched
    oReq.open("GET", url); //set the URL to fetch to the specified URL
    oReq.overrideMimeType("text/plain; charset=x-user-defined"); //force the content of the file to be plain text
    oReq.send(); //send the request
}

如果要對JavaScript和HTML進行任何操作,則可能應該使用Olical的解決方案(帶有loadJS()函數的解決方案)。 這是非常有用的。 但是,如果由於某種原因只需要使用JS加載外部JS文件,則可以使用。

基本上,它創建並發送XMLHttpRequest以純文本形式獲取指定URL的內容。 一旦獲得該文本,它將使用eval()對其進行eval() 對於不認識的人, eval()是許多編程語言(盡管有時命名為其他語言eval()都包含的函數,包括JavaScript。 它接受字符串的輸入,然后將該字符串的內容視為JavaScript代碼,然后運行它(稱為“評估”語句,因此命名為“ eval”)。 例如, eval("console.log('test')")會將'test'登錄到控制台,就像console.log("test")那樣。 像我在該示例中一樣,顯然使用它毫無意義(您可以聲明代碼而不是放入字符串並將其傳遞給eval() !),但是當您需要讓程序創建代碼時,它非常有用。然后運行。 例如,在您要使用HTML和JavaScript創建交互式JavaScript控制台時,可以使用eval()評估用戶的輸入。

如果您不關心它的工作原理,只是想使用它,只需將該函數添加到您的項目中,然后使用要包含的URL參數(以字符串形式)調用該函數(例如loadJS("www.foo.com/bar.js") )。 我將此代碼段發布到了公共領域,因此,如果您想使用它,對其進行修改或在沒有信譽的情況下進行分發,請隨時使用。 我鼓勵(但不合法地強迫您)以類似的術語(知識共享,GPL等)發布用於此目的的項目。 希望對您有所幫助。

您可以使用JavaScript附加它。

jQuery有一個很好的方法,稱為getScript: http ://api.jquery.com/jQuery.getScript/

不能,您必須將兩個Javascript文件都嵌入到HTML文檔中。

您可以這樣添加它:

your_script.js:

document.write('<script src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>');
// ...

然后在HTML文檔中僅包含your_script.js

編輯:這是骯臟的舊方法,您可以使用庫或嵌入函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM