0

可能重复:
我应该如何从另一个 js 文件中包含一个 js 文件?

在我的一个 js 文件中,我需要使用其他 js 文件中的函数。我将如何实现这一目标?

4

4 回答 4

1

只需在源文件之后加载依赖文件 - 例如文件 a 中的函数需要文件 b 中的函数

<script src="b.js"/>
<script src="a.js"/>

如果要动态加载脚本文件,则:

function loadScript(filename){
    // find the header section of the document
    var head=document.getElementsByTagName("head")[0];

    // create a new script element in the document
    // store a reference to it
    var script=document.createElement('script')

    // attach the script to the head
    head.appendChild(script);

    // set the script type
    script.setAttribute("type","text/javascript")

    // set the script source, this will load the script
    script.setAttribute("src", filename)
}

loadScript("someScript.js");

Google 使用它来将 adsense 代码导入页面。

更新

于 2012-05-19T17:08:25.600 回答
0

您需要在使用您的函数的任何页面中包含这两个文件。

<script type="text/javascript" src="myscript.js"></script>
<script type="text/javascript" src="script myscript uses.js"></script>

两个文件中的公共功能将可供彼此使用。

可以在脚本中向 DOM添加一个<script>指向依赖项的元素 - 这将允许您仅在页面中包含您的 javascript 文件。

document.write("<script language='javascript' src='script myscript uses.js' />");
于 2012-05-19T17:08:09.867 回答
0

以正确的顺序将两者都包含到页面中:

<head>
   ...
   <script type="text/javascript" src="library.js"></script>
   <script type="text/javascript" src="scripts_that_use_library_functions.js"></script>
</head>
于 2012-05-19T17:09:30.520 回答
0

您可以在 DOM 中动态添加 js 文件,如下所示:

var headID = document.getElementsByTagName("head")[0];         
var newScript = document.createElement('script');  
newScript.type = 'text/javascript';  
newScript.src = 'http://www.somedomain.com/somescript.js';  
headID.appendChild(newScript);  
于 2012-05-19T17:11:06.653 回答