在项目开发过程中,也许你会遇这样的情况。在某一Js文件中需要完成某一功能,但这一功能的大部分代码在另外一个Js文件中已经完成了,自己只需要调用这个方法再加上几句代码就可以实现所需的功能。我们知道,在html中,利用
<script language="javascript" type="text/javascript" src="../script.js"></script>
引入的两个js是不可以相互调用的。那么该如何解决呢?当然,你可以将代码通通copy过来,这样会让你的b.js会变得很长,也许已经影响到了你对b.js的定位了,检查,维护都会变得麻烦.
例如有这样一个html,里面有一个按钮,当按下时调用b.js文件中的方法b()。而b()中又要调用a.js文件中的方法a()。那我们应该怎么做呢?
首先,我们在html中引入b.js,并在</body>之后加入引用语句。必须注意,将要引入的Js文件代码放在</body>下面。
b.js文件中引入a.js,内容如下:
<html>
<body>
<input type="button" value="ok" onclick="javascript:b()">
</body>
<!--这里引用要放在body下面-->
<script language="JAVASCRIPT"
src='b.js'></script>
</html>
在b.js文件中前4行代码中我们引入了a.js文件,并在第7行代码中调用了a.js代码中的a()方法。
让我们来分析一下关键的几句代码:首先,我们利用document.createElement("script")生成了一个script的标签,设置其type属性为text/javascript,src为a.js(这里的a.js同b.js放在同一个目录,也可放在不同的目录)。最后将这个标签动态地加入body中。如此一来,我们就可以调用到不同js文件中的方法了。
new_element=document.createElement("script");
new_element.setAttribute("type","text/javascript");
new_element.setAttribute("src","a.js");// 在这里引入了a.js
document.body.appendChild(new_element);
function b() {
a();
}
注意:<script language="JAVASCRIPT" src='b.js'></script>一定要放在body下面。
因为在b.js中用到了body(document.body.appendChild(new_element);)
如果将引如b.js的代码放在body上面,也就是说,
进入页面后,还没有生成body就已经执行b.js里的document.body.appendChild(new_element);了。
这时body不存在就会抛javascript错误。
分享到:
相关推荐
而b()中又要调用a.js文件中的方法a()。若要实现这个功能,必须注意,将要引入的Js文件代码放在</body>下面。 首先,我们在html中引入b.js,并在</body>之后加入引用语句。如下: <html>
JS和LUA交互,主要是JS和LUA交互实现模版,可以作为参考
C#与JAVASCRIPT函数的相互调用 C#调用JAVASCRIPT函数的调用 JAVASCRIPT调用C#函数的调用
obj转gltf 需要的js文件
link中调用js方法 link中调用js方法link中调用js方法link中调用js方法
JS调用DLL实例2
JS调用ASP文件,主要是因为首页是用模版生成的,所以不能用常规的包含ASP功能,而且系统本身也没自带类似的扩展功能,就只有自己摸索着写了,因为比较复杂,我要调用的是一整个JS函数,而且涉及数据库的动态生成,...
js调用对话框保存文件 js调用对话框保存文件 js调用对话框保存文件 js调用对话框保存文件 js调用对话框保存文件
js与aspx相互调用js与aspx相互调用js与aspx相互调用js与aspx相互调用
在html页面用js调用exe文件并传参
一个javascript调用系统exe文件,弹出系统自带的软件盘的例子。
js调用flash 使得flash文件无框框
该文件中是一段js调用 浏览器的 打印功能 实践, 其中 详细的说明和注释。 但是 如果你需要调用起打印机 的话, 则需要用户先行 绑定打印机设备, 确保可以在打印页面选择打印机, 适用大部分浏览器。
Unity发布WebGL时,打开文件对话框使用Win32和Dll的方式行不通,这里使用C#调用JS方法是可以的
JS调用c#编写的DLL 源代码 包含c#新建类库,生成DLL,以及DLL的注册 ,JS调用DLL的两种方法的整个过程。
Winform中使用CefSharp和js互相调用方法,Winform中使用CefSharp和js互相调用方法,Winform中使用CefSharp和js互相调用方法,Winform中使用CefSharp和js互相调用方法 vs2019.debug目录下有cef所需要的文件,在其他...
比如我写了一个JS文件,这个文件需要调用另外一个JS文件,该如何实现呢?下面就总结下在js文件中引入另一个js文件的实现 方法一,在调用文件的顶部加入下例代码 function addScript(url){ [removed]([removed]...
基于microsoftTranslator实现js中英文转换,中文英文按钮来回切换。
C#窗口程序中嵌入网页调用js 在C#窗口程序中嵌入网页的办法,目前我知道的也就一种,那就是使用WebBrowser控件,指定控件的URL属性到html文件所在路径。
引入js文件,用户密码md5加密,js端用md5.js文件加密。 调用方法:hex_md5('111')