使用js获取当前浏览器的地址栏地址

参考资料:document.ready和window.onload的区别
公司的项目是用html来写的前端;
由于最近因为业务扩展需要变更名字然后部署到不同的客户,又不想更改为jsp;
因此想了个办法,就是定义一个js变量在页面加载时读取当前浏览器地址,切割出项目名;
直接将这个代码块放入一个js;
在每个页面引入之后,直接使用publicField.projectName即可;

//定义一个对象
var publicField = {};
//定义对象中的属性
publicField.projectName = "";
/**
 * 自定义document.ready方法;
 * 此方法执行在window.onload之前;
 * @param callback
 */
document.ready = function (callback) {
    ///兼容FF,Google
    if (document.addEventListener) {
        document.addEventListener('DOMContentLoaded', function () {
            document.removeEventListener('DOMContentLoaded', arguments.callee, false);
            callback();
        }, false)
    }
    //兼容IE
    else if (document.attachEvent) {
        document.attachEvent('onreadystatechange', function () {
            if (document.readyState == "complete") {
                document.detachEvent("onreadystatechange", arguments.callee);
                callback();
            }
        })
    }
    else if (document.lastChild == document.body) {
        callback();
    }
}
//页面加载之前执行;
document.ready(function () {
    var href = window.location.href;
    //页面url通常为http://localhost:8090/XXXX/images/1_15.png
    //先切割//,得到
    // http:,localhost:8090/XXXX/images/1_15.png
    //取第二个,再切割/,得到
    //localhost:8090,XXXX,images,1_15.png
    //取第二个,得到项目名,XXXX然后重写当前页所有引入的url
    //拼接/+项目名,得到/XXXX前缀,
    publicField.projectName = "/"+href.split("//")[1].split("/")[1];

})

你可能感兴趣的:(使用js获取当前浏览器的地址栏地址)