看了一个微信互动的源码,觉得这样添加js也很有技巧,分享一下原作者的思路:
__CreateWlnPath = function (js) {
if (true) {
var scripts = document.getElementsByTagName("script");
var path = "";
for (var i = 0, l = scripts.length; i < l; i++) {
var src = scripts[i].src;
if (src.indexOf(js) != -1) {
var ss = src.split(js); path = ss[0]; break;
}
}
var href = location.href;
href = href.split("#")[0];
href = href.split("?")[0];
var ss = href.split("/");
ss.length = ss.length - 1;
href = ss.join("/");
if (path.indexOf("https:") == -1 && path.indexOf("http:") == -1 && path.indexOf("file:") == -1 && path.indexOf("\/") != 0) {
path = href + "/" + path;
}
return path;
} else {
return 'http://wexinapi.duapp.com/res/';
}
}
var wlniaoPATH = __CreateWlnPath("wlniao.com.js");
document.write('<script id="resTag" src="' + wlniaoPATH + 'jquery.min.js" type="text/javascript"></sc' + 'ript>');
var _WlniaoScript;
function _() {
_WlniaoScript = $('#resTag');
}
function _publicPage() {
_();
_WlniaoScript.after('<script src="' + wlniaoPATH + 'publicPage/other.js"></script>');
}
这里的_WlniaoScript.after就是利用了jq的after函数,当然了before也是可以的:
_WlniaoScript.before('<link rel="stylesheet" href="' + wlniaoPATH + 'publicPage/base.css">');
_WlniaoScript.before('<script id="resTag" src="' + wlniaoPATH + '../artDialog/jquery.artDialog.js?skin=twitter" type="text/javascript"></sc' + 'ript>');
_WlniaoScript.before('<link rel="stylesheet" href="' + wlniaoPATH + '../artDialog/skins/twitter.css">');
如有不明白的地方欢迎加QQ群 14670545 探讨