如何在js文件中动态加载另一个js文件

如何在js文件中动态加载另一个js文件,第1张

用document.write方法来实现。

在js文件中动态加载另一个js文件代码及注释步骤:

<html>

<body>

<script type="text/javascript">

document.write("<script src='要引用js'><\/script>")

</script>

<p>write方法的使用</p>

</body>

</html>

定义和用法

write() 方法可向文档写入 HTML 表达式或 JavaScript 代码。

语法

document.write(exp1,exp2,exp3,....)

如果需要用原生js动态的加载另外一个js文件,可以使用原生js的document.createElement方法创建script节点,然后更改该节点的type和src属性,最后通过appendChild方法将该节点动态添加到html中,这样就可以了,参考代码如下:

var new_element = document.createElement("script")//创建新的script节点new_element.setAttribute("type", "text/javascript")new_element.setAttribute("src", "../js/jquery.js")document.body.appendChild(new_element)//添加到body节点的末尾

上例中是在body的最末尾添加的,当然同样可以在head中添加引用该js的标签:document.head.appendChild(new_element)

动态加载外部css样式及css样式,参考代码如下:

// 动态加载外部js文件 

var flag = true 

if( flag ){ 

loadScript( "js/index.js" ) 

function loadScript( url ){ 

var script = document.createElement( "script" ) 

script.type = "type/javascipt" 

script.src = url 

document.getElementsByTagName( "head" )[0].appendChild( script ) 

// 动态加载js 

if( flag ){ 

var script = document.createElement( "script" ) 

script.type = "text/javascript" 

script.text = " " 

document.getElementsByTagName( "head" )[0].appendChild( script ) 

// 动态加载外部css样式 

if( flag ){ 

loadCss( "css/base.css" ) 

function loadCss( url ){ 

var link = document.createElement( "link" ) 

link.type = "text/css" 

link.rel = "stylesheet" 

link.href = url 

document.getElementsByTagName( "head" )[0].appendChild( link ) 

// 动态加载css样式 

if( flag ){ 

var style = document.createElement( "style" ) 

style.type = "text/css" 

document.getElementsByTagName( "head" )[0].appendChild( style ) 

var sheet = document.styleSheets[0] 

insertRules( sheet,"#gaga1","background:#f00",0 ) 

function insertRules( sheet,selectorTxt,cssTxt,position ){ 

if( sheet.insertRule ){ // 判断非IE浏览器 

sheet.insertRule( selectorTxt + "{" + cssTxt +"}" ,position ) 

}else if( sheet.addRule ){ //判断是否是IE浏览器 

sheet.addRule( selectorTxt ,cssTxt ,position ) 

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11691185.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存