将js文件嵌入另一个文件中

时间:2011-02-09 10:58:05

标签: javascript jquery

如何在js文件中嵌入以下内容

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

5 个答案:

答案 0 :(得分:8)

您无法在另一个中嵌入 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);
}

答案 1 :(得分:1)

您可以使用JavaScript附加它。

jQuery有一个很好的方法叫做getScript:http://api.jquery.com/jQuery.getScript/

答案 2 :(得分:1)

如果您想使用纯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()是许多编程语言中的一个函数(虽然有时会命名为其他东西),包括JavaScript。它接受一个字符串的输入,然后将该字符串的内容视为JavaScript代码并运行它(称为&#34;评估&#34;语句,因此名称&#34; eval&#34;) 。例如,eval("console.log('test')")会将'test'记录到控制台,就像console.log("test")一样。显然像我在那个例子中那样使用它是没有意义的(你可以只是声明代码而不是放入一个字符串并将其传递给eval()!),但是当你需要你的程序时它非常有用创建代码然后运行。例如,在您想要使用HTML和JavaScript创建交互式JavaScript控制台时,可以使用eval()来评估用户的输入。

如果您不关心它是如何工作的,只想使用它,只需将该函数添加到您的项目中,并使用您要包含的URL(字符串)参数调用该函数(例如,loadJS("www.foo.com/bar.js"))。我将此代码段发布到公共域中,因此如果您想要使用它,修改它,或者在没有信用的情况下分发它,请随意这样做。我鼓励(但不是在法律上强迫您)以类似的条款(知识共享,GPL等)发布您使用此项目的项目。希望这很有帮助。

答案 3 :(得分:0)

你不能,你必须将两个Javascript文件嵌入到HTML文档中。

答案 4 :(得分:-1)

您可以像这样添加:

your_script.js:

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

然后在HTML文档中仅包含your_script.js

编辑:这是脏旧方法,您可以使用库或嵌入函数。