復制代碼 代碼如下:
// 根據相對路徑獲取絕對路徑
function getPath(relativePath,absolutePath){
var reg = new RegExp("http://.//./","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("http://www.49028c.com/",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("http://www.49028c.com/") !=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'});
}
}
新聞熱點
疑難解答
圖片精選