[英]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.