时间:2016-02-15 23:27 来源: 我爱IT技术网 作者:佚名
欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【JS实现完美include加载功能代码】,下面是详细的讲解!
JS实现完美include加载功能代码
// 根据相对路径获取绝对路径
function getPath(relativePath,absolutePath){
var reg=new RegExp("\\.\\./","g");
var uplayCount=0; // 相对路径中返回上层的次数。
var m=relativePath.match(reg);
if(m) uplayCount=m.length;
var lastIndex=absolutePath.length-1;
for(var i=0;i<=uplayCount;i++){
lastIndex=absolutePath.lastIndexOf("/",lastIndex);
}
return absolutePath.substr(0,lastIndex+1) + relativePath.replace(reg,"");
}
function include(jssrc){
// 先获取当前a.js的src。a.js中调用include,直接获取最后1个script标签就是a.js的引用。
var scripts=document.getElementsByTagName("script");
var lastScript=scripts[scripts.length-1];
var src=lastScript.src;
if(src.indexOf("http://")!=0 && src.indexOf("/") !=0){
// a.js使用相对路径,先替换成绝对路径
var url=location.href;
var index=url.indexOf("?");
if(index !=-1){
url=url.substring(0, index-1);
}
src=getPath(src,url);
}
var jssrcs=jssrc.split("|"); // 可以include多个js,用|隔开
for(var i=0;i<jssrcs.length;i++){
// 使用juqery的同步ajax加载js.
// 使用document.write 动态添加的js会在当前js的后面,可能会有js引用问题
// 动态创建script脚本,是非阻塞下载,也会出现引用问题
$.ajax({type:'GET',url:getPath(jssrc,src),async:false,dataType:'script'});
}
}
关于JS实现完美include加载功能代码的用户互动如下:
相关问题:
答: >>详细
相关问题:
答: >>详细
相关问题:
答: >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【ASP】ASP.NET 5升级后如何删除旧版本的DNX-NET5
- 【404页面】ASP.NET设置404页面返回302HTTP状态码
- 【Visual】分享Visual Studio原生开发的10个调试
- 【asp】asp.net ubb使用代码-net-ubb使用
- 【默认图片】图片不存在使用默认图片代替的实例
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
