js获取页面完整域名结合webpack的应用

535 阅读1分钟

js获取页面完整域名

window.location.protocol+"//"+window.location.host

webpack的配置:

 output: {
    // filename:'[name].[chunkhash:8].js',
    filename: "bundle.js",
    chunkFilename: "[name].js",
    // publicPath在使用server不同时需要进行配置,针对server的ip和端口。
    // DI中使用hostname进行,不同资源key值应放入get的session中
    publicPath: "/charts/js/",
    path: path.resolve(__dirname, "../out/js"),
  },

publicPath会自动拼接域名

备注:

1、通过substr配合split获取

复制代码

//正则获取url中的参数
    function URL_Request(strName) {
    var strHref = document.location.toString();
    var intPos = strHref.indexOf("?");
    var strRight = strHref.substr(intPos + 1); //==========获取到右边的参数部分
    var arrTmp = strRight.split("&"); //=============以&分割成数组

    for (var i = 0; i < arrTmp.length; i++) //===========循环数组
    {
        var dIntPos = arrTmp[i].indexOf("=");
        var paraName = arrTmp[i].substr(0, dIntPos);
        var paraData = arrTmp[i].substr(dIntPos + 1);
        if (paraName.toUpperCase() == strName.toUpperCase()) {
            return paraData;
        }
    }
    return "";
    }

复制代码

使用:

var pbtradeId=URL_Request("tradeId");

2、通过split获取【update20170503】

复制代码

function getQueryString(str, key) {
    if(str) {
        var queryString = str.split('?')[1] || '';
        var arr = queryString.split('&') || [];
        for(var i = 0; i<arr.length; i++) {
            var keyString = decodeURIComponent(arr[i].split('=')[0]);
            var valueString = decodeURIComponent(arr[i].split('=')[1]);
            if(key === keyString) {
                return valueString;
            }
        }
        return;
    } else {
        return;
    }
}
getQueryString(location.search, 'pageId');

复制代码

如果获取“当前”域名

host = window.location.host;

url=document.domain;

url = window.location.href;

取得完整url路径: 用以下代码可以完整研证结果:

<table width=100% cellpadding=0 cellspacing=0 border=0 >

<script>

thisURL = document.URL;

thisHREF = document.location.href;

thisSLoc = self.location.href;

thisDLoc = document.location;

strwrite = "<tr><td valign=top>thisURL: </td><td>[" + thisURL + "]</td></tr>"

strwrite += "<tr><td valign=top>thisHREF: </td><td>[" + thisHREF + "]</td></tr>"

strwrite += "<tr><td valign=top>thisSLoc: </td><td>[" + thisSLoc + "]</td></tr>"

strwrite += "<tr><td valign=top>thisDLoc: </td><td>[" + thisDLoc + "]</td></tr>"

document.write( strwrite );

</script>

thisDLoc = document.location; <BR>

thisURL = document.URL; <BR>

thisHREF = document.location.href; <BR>

thisSLoc = self.location.href;<BR>

<script>

thisTLoc = top.location.href;

thisPLoc = parent.document.location;

thisTHost = top.location.hostname;

thisHost = location.hostname;

strwrite = "<tr><td valign=top>thisTLoc: </td><td>[" + thisTLoc + "]</td></tr>"

strwrite += "<tr><td valign=top>thisPLoc: </td><td>[" + thisPLoc + "]</td></tr>"

strwrite += "<tr><td valign=top>thisTHost: </td><td>[" + thisTHost + "]</td></tr>"

strwrite += "<tr><td valign=top>thisHost: </td><td>[" + thisHost + "]</td></tr>"

document.write( strwrite );

</script>

thisTLoc = top.location.href; <BR>

thisPLoc = parent.document.location; <BR>

thisTHost = top.location.hostname; <BR>

thisHost = location.hostname;<BR>

<script>

tmpHPage = thisHREF.split( "/" );

thisHPage = tmpHPage[ tmpHPage.length-1 ];

tmpUPage = thisURL.split( "/" );

thisUPage = tmpUPage[ tmpUPage.length-1 ];

strwrite = "<tr><td valign=top>thisHPage: </td><td>[" + thisHPage + "]</td></tr>"

strwrite += "<tr><td valign=top>thisUPage: </td><td>[" + thisUPage + "]</td></tr>"

document.write( strwrite );

</script><tr><td>

运行如下: thisDLoc = document.location;

thisURL = document.URL;

thisHREF = document.location.href;

thisSLoc = self.location.href;

thisTLoc = top.location.href;

thisPLoc = parent.document.location;

thisTHost = top.location.hostname;

thisHost = location.hostname;

thisURL: [[https://925bb.taobao.com/js/js%E8%8E%B7%E5%8F%96url.html]](https://link.jianshu.com?t=https%3A%2F%2F925bb.taobao.com%2Fjs%2Fjs%25E8%258E%25B7%25E5%258F%2596url.html%255D)

thisHREF: [[https://925bb.taobao.com/js/js%E8%8E%B7%E5%8F%96url.html]](https://link.jianshu.com?t=https%3A%2F%2F925bb.taobao.com%2Fjs%2Fjs%25E8%258E%25B7%25E5%258F%2596url.html%255D)

thisSLoc: [[https://925bb.taobao.com/js/js%E8%8E%B7%E5%8F%96url.html]](https://link.jianshu.com?t=https%3A%2F%2F925bb.taobao.com%2Fjs%2Fjs%25E8%258E%25B7%25E5%258F%2596url.html%255D)

thisDLoc: [[https://925bb.taobao.com/js/js%E8%8E%B7%E5%8F%96url.html]](https://link.jianshu.com?t=https%3A%2F%2F925bb.taobao.com%2Fjs%2Fjs%25E8%258E%25B7%25E5%258F%2596url.html%255D)

thisTLoc: [[https://925bb.taobao.com/js/js%E8%8E%B7%E5%8F%96url.html]](https://link.jianshu.com?t=https%3A%2F%2F925bb.taobao.com%2Fjs%2Fjs%25E8%258E%25B7%25E5%258F%2596url.html%255D)

thisPLoc: [[https://925bb.taobao.com/js/js%E8%8E%B7%E5%8F%96url.html]](https://link.jianshu.com?t=https%3A%2F%2F925bb.taobao.com%2Fjs%2Fjs%25E8%258E%25B7%25E5%258F%2596url.html%255D)

thisTHost: [925bb.taobao.com]

thisHost: [925bb.taobao.com]

thisHPage: [js%E8%8E%B7%E5%8F%96url.html]

thisUPage: [js%E8%8E%B7%E5%8F%96url.html]