你是否为如何用js得到web上下文而烦恼,是否为在 js 里面想包含另一js 想尽办法。
以下代码可以帮你实现,直接上代码
/*****************************************************************************************
* == 1. 设置 Field.prototype.isLoad = true; 则可以针对没有contextPath为空的情形
*
****************************************************************************************/
var GB = {
_field : ( function(){
function Field(){};
/** field List */
Field.prototype.isLoad = false; // 设置true , 则contextPath为空
Field.prototype.contextPath = "";
return new Field();
}() ) ,
/** method List */
getContextPath : function(){
if ( !GB._field.isLoad ){ // 页面还未加载时执行
var webroot=document.location.href;
webroot=webroot.substring(webroot.indexOf('//')+2,webroot.length);
webroot=webroot.substring(webroot.indexOf('/')+1,webroot.length);
webroot=webroot.substring(0,webroot.indexOf('/'));
GB._field.contextPath = "/"+webroot;
GB._field.isLoad = true;
}
return GB._field.contextPath;
},
include : function(path){
var sobj = document.createElement('script');
sobj.type = "text/javascript";
sobj.src = GB.getContextPath + path;
var headobj = document.getElementsByTagName('head')[0];
headobj.appendChild(sobj);
}
}
调用方法分别是:
GB.getContextPath();
GB.include("/jquery/jquery-1.8.0.min.js"); // 从web上下文可以