zoukankan      html  css  js  c++  java
  • js 根据相对路径url获得完整路径url

    自定义方法 GetPath(url)

    ///根据相对路径得到完整URL
    ///strUrl:URL相对地址
    var GetPath = function (strUrl) {
        if (strUrl.toLowerCase().indexOf("https:") != -1 || strUrl.toLowerCase().indexOf("http:") != -1 || strUrl.toLowerCase().indexOf("file:") != -1) {
            return strUrl;
        }
    
        var strHref = window.location.href.split("/")[0] + "//" + window.location.host;
        if (strUrl.indexOf("/") == 0 || strUrl.indexOf("~/") == 0) {
            strUrl = strHref + strUrl.replace("~/", "/");
        }
        else {
            var arrHref = window.location.pathname.split("/");//获取当前的相对路径级
    
            var intBackNum = 1;
            //对../进行退级计算
            var strBack = "../";
            while (strUrl.indexOf(strBack) == 0) { //退回上一级目录
                strBack += strBack;
                intBackNum++;
            }
            //减去多余的../符
            if (intBackNum > 1) {
                strBack = strBack.replace("../", "");
            }
            strUrl = strUrl.replace(strBack, "");//替换退格符
            arrHref.length = arrHref.length - intBackNum;//减去路径级
    
            var strPath = arrHref.join("/");//组成路径
            var strSpace = (strPath.length == 0 ? "" : "/");
            strUrl = strHref + "/" + strPath + strSpace + strUrl;
        }
        return strUrl;
    };
    View Code
  • 相关阅读:
    22 有序化模块
    21模块
    Day20 继承
    Day19 约束
    面向对象 成员
    面向对象01
    内置函数、匿名函数、递归、二分法
    生成器函数 推导式
    Unity3D 实现方块跑酷
    day30-2018-12-3-进程
  • 原文地址:https://www.cnblogs.com/senyier/p/7338031.html
Copyright © 2011-2022 走看看