js 判断js,css是否引入,确保不重复引入
2017-08-15 14:06
302 查看
基本原理:
function loadjscssfile(filename, filetype){
if (filetype=="js"){ //if filename is a external JavaScript file
var fileref=document.createElement_x('script')
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src", filename)
}
else if (filetype=="css"){ //if filename is an external CSS file
var fileref=document.createElement_x("link")
fileref.setAttribute("rel", "stylesheet")
fileref.setAttribute("type", "text/css")
fileref.setAttribute("href", filename)
}
if (typeof fileref!="undefined")
document.getElementsByTagName_r("head")[0].appendChild(fileref)
}
loadjscssfile("myscript.js", "js") //dynamically load and add this .js file
loadjscssfile("javascript.php", "js") //dynamically load "javascript.php" as a JavaScript file
loadjscssfile("mystyle.css", "css") ////dynamically load and add this .css file
注意点:
默认挂在dom的第一个节点下,要保证不影响原有的页面的逻辑。
防止重复加载。
var filesadded="" //list of files already added
function checkloadjscssfile(filename, filetype){
if (filesadded.indexOf("["+filename+"]")==-1){
loadjscssfile(filename, filetype)
filesadded+="["+filename+"]" //List of files added in the form "[filename1],[filename2],etc"
}
else
alert("file already added!")
}
checkloadjscssfile("myscript.js", "js") //success
checkloadjscssfile("myscript.js", "js") //redundant file, so file not added
我自己写的例子如下:
isexist这个变量要定义在需要引入的js里,用typeof去检测改变量是否存在?如果等于undefined,说明不存在,那就引入外部js,否则,就不引入!
if(typeof(isexist) == 'undefined')
{
var fileref = document.createElement_x('script');
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src","<?php echo $html->url('/')?>js/valide.js");
document.getElementsByTagName_r("head")[0].appendChild(fileref);
}
function loadjscssfile(filename, filetype){
if (filetype=="js"){ //if filename is a external JavaScript file
var fileref=document.createElement_x('script')
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src", filename)
}
else if (filetype=="css"){ //if filename is an external CSS file
var fileref=document.createElement_x("link")
fileref.setAttribute("rel", "stylesheet")
fileref.setAttribute("type", "text/css")
fileref.setAttribute("href", filename)
}
if (typeof fileref!="undefined")
document.getElementsByTagName_r("head")[0].appendChild(fileref)
}
loadjscssfile("myscript.js", "js") //dynamically load and add this .js file
loadjscssfile("javascript.php", "js") //dynamically load "javascript.php" as a JavaScript file
loadjscssfile("mystyle.css", "css") ////dynamically load and add this .css file
注意点:
默认挂在dom的第一个节点下,要保证不影响原有的页面的逻辑。
防止重复加载。
var filesadded="" //list of files already added
function checkloadjscssfile(filename, filetype){
if (filesadded.indexOf("["+filename+"]")==-1){
loadjscssfile(filename, filetype)
filesadded+="["+filename+"]" //List of files added in the form "[filename1],[filename2],etc"
}
else
alert("file already added!")
}
checkloadjscssfile("myscript.js", "js") //success
checkloadjscssfile("myscript.js", "js") //redundant file, so file not added
我自己写的例子如下:
isexist这个变量要定义在需要引入的js里,用typeof去检测改变量是否存在?如果等于undefined,说明不存在,那就引入外部js,否则,就不引入!
if(typeof(isexist) == 'undefined')
{
var fileref = document.createElement_x('script');
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src","<?php echo $html->url('/')?>js/valide.js");
document.getElementsByTagName_r("head")[0].appendChild(fileref);
}
相关文章推荐
- 如何判断是否已经引入某个css或是js
- JS判断一个数组中是否有重复值的三种方法
- JS的表单序列化,数组去重,判断数组是否重复等方法
- 关于引入js和css文件是否成功
- JS判断各种浏览器,根据判断动态引入不同的CSS文件、JS文件
- js判断css动画是否完成 animation,transition
- js判断数组内是否有重复值
- js判断数组是否有重复值
- JS判断一个数组中是否有重复值的三种方法
- 使用js,判断数组中是否有重复数据
- JS判断一个数组中是否有重复值的三种方法
- JS判断数组中是否有重复值得三种方法
- 【js】检测CSS JS 文件是否被引入。
- JS判断一个数组中是否有重复值的三种方法 .
- js通过map和set判断数组中的对象的某个属性是否有重复
- JS判断一个数组中是否有重复值的三种方法
- js判断一个数组是否重复
- JS判断一个数组中是否有重复值的三种方法
- js 判断数组是否有重复元素的几种方式
- js判断js文件有没有引入,一般引入的js文件里面都会有函数和对象是否存在