js动态获取虚拟目录名称 相当于服务端ResolveUrl("")方法(转载)

function  _GetScriptLocation() {
    
var  scriptLocation  =  "" ;
    
var  scriptName  =  " Utility.js " ;
    
var  scripts  =  document.getElementsByTagName( ' script ' );
    
for  ( var  i  =  0 ;i  <  scripts.length; i ++ ) {
        
var  src  =  scripts[i].getAttribute( ' src ' );
        
if  (src) {
            
var  index  =  src.lastIndexOf(scriptName);
            
//  is it found, at the end of the URL?
             if  ((index  >  - 1 &&  (index  +  scriptName.length  ==  src.length)) {
                scriptLocation 
=  src.slice( 0 - scriptName.length);
                
break ;
            }
        }
    }
    
return  scriptLocation;
}

var  _scriptLocation  =  _GetScriptLocation();
var  _basepath = _scriptLocation.replace( " JavaScript/ " , "" );
var  _versionNO = '' ;
function  _IncludeScript(inc, baseLocation) {
    
if  ( ! baseLocation) {
        baseLocation 
=  _scriptLocation;
    }
    
var  script  =  ' < '  +  ' script type="text/javascript" src=" '  +  baseLocation
            
+  inc  + _versionNO  + ' " '  +  ' >< '  +  ' /script> ' ;
    document.writeln(script);
}
function  _IncludeStyle(inc, baseLocation) {
    
if  ( ! baseLocation) {
        baseLocation 
=  _scriptLocation + " ../styles/ " ;
    }
    
var  style  =  ' < '  +  ' link type="text/css" rel="stylesheet" href=" '
            
+  baseLocation  +  inc  +  _versionNO  +  ' " '  +  '  /> ' ;
    document.writeln(style);
}
function  _GetBrowser() {
    
var  ua  =  navigator.userAgent.toLowerCase();
    
if  (ua.indexOf( ' opera ' !=  - 1 )
        
return  ' opera ' ;
    
else  if  (ua.indexOf( ' msie ' !=  - 1 )
        
return  ' ie ' ;
    
else  if  (ua.indexOf( ' safari ' !=  - 1 )
        
return  ' safari ' ;
    
else  if  (ua.indexOf( ' gecko ' !=  - 1 )
        
return  ' gecko ' ;
    
else
        
return  false ;
}

function  ResolveUrl(path){
    
if (path){
        path
= path.replace( " \\ " , " / " ).replace( " // " , " / " );
        
if (path.indexOf(_basepath) == 0 )
            
return  path;
        
else  if (path.indexOf(_basepath.substring( 1 ,_basepath.length)) == 0 )
            
return  " / " + path;
        
else  if (path == " / " )
            
return  _basepath;
        
else  
        
return  (_basepath  + path).replace( " // " , " / " );
    } 
else
        
return  _basepath;
}
function  resolveUrl(path){ return  ResolveUrl(path);}
function  resolveurl(path){ return  ResolveUrl(path);}

/*
使用时本脚本需要从后台注册 
            ClientScript.RegisterClientScriptInclude(this.GetType(), "Include", ResolveUrl("~/js/Include.js"));
            一般这样的方法放在pagebase初始化或load方法中            
//获取相对于虚拟目录的url,如果是网站则返回相对于根目录的url, 如果path是空或者“/”返回虚拟目录名称
ResolveUrl("");
*/
转自:
http://www.cnblogs.com/68681395/archive/2008/08/11/1265188.html

转载于:https://www.cnblogs.com/johnwonder/archive/2010/12/14/1905442.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值