看了一個互動的源碼,覺得這樣添加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 探討