js获取当前域名、Url、相对路径和参数以及指定参数——下载文件-window.location.href
1、js获取当前域名有2种方法

//方法一
var domain = document.domain;

//方法二
var domain = window.location.host;

注意问题
由于获取到的当前域名不包括 http://,所以把获取到的域名赋给 a 标签的 href 时,别忘了加上 http://,否则单击链接时导航会出错。

2、获取当前Url的4种方法

var url = window.location.href;

var url = self.location.href;

var url = document.URL;

var url = document.location;

ie 地址栏显示的是什么,获取到的 url 就是什么。

window.location.href的主要用法,如下:

self.location.href="/url"    //当前页面打开URL页面

location.href="/url"     //当前页面打开URL页面

windows.location.href="/url"    //当前页面打开URL页面,前面三个用法相同。

this.location.href="/url"   //当前页面打开URL页面

parent.location.href="/url"   //在父页面打开新页面

top.location.href="/url"   //在顶层页面打开新页面

如果页面中自定义了frame,那么可将parent self top换为自定义frame的名称,

效果是在frame窗口打开url地址

此外,

window.location.href=window.location.href和window.location.Reload(),都是刷新当前页面。

区别在于是否有提交数据。当有提交数据时,window.location.Reload()会提示是否提交,window.location.href=window.location.href;则是向指定的url提交数据

相对路径-vue线上发版后下载文件(非后端文件)
结构

<el-button 
        v-edit-role='{parentMenu}' 
        icon='iconxiazai1 iconfont icon-size'
		@click='downloadTemplate'>下载模版
</el-button>

方法

const downloadTemplate = () => {
    window.location.href = '/files/模版.docx';
};

其中,只有.pdf和图片可以实现跳转另一个新窗口进行预览,其他格式是下载

3、获取当前相对路径的方法
首先获取 Url,然后把 Url 通过 // 截成两部分,再从后一部分中截取相对路径。如果截取到的相对路径中有参数,则把参数去掉。

function GetUrlRelativePath(){
    var url = document.location.toString();
    var arrUrl = url.split("//");

    var start = arrUrl[1].indexOf("/");
    var relUrl = arrUrl[1].substring(start);//stop省略,截取从start开始到结尾的所有字符

    if(relUrl.indexOf("?") != -1){
        relUrl = relUrl.split("?")[0];
    }
    return relUrl;
}

调用方法:GetUrlRelativePath();

举例:

假如当前 Url 是 http// www. liangshunet. com/pub/item.aspx?t=osw7,则截取到的相对路径为:/pub/item.aspx。

4、获取当前Url参数的方法
获取Url参数部分

function GetUrlPara(){
    var url = document.location.toString();
    var arrUrl = url.split("?");

    var para = arrUrl[1];
    return para;
}

调用方法:GetUrlPara()

举例:

假如当前 Url 是 http// www. liangshunet. com/pub/item.aspx?t=osw7,则截取到的参数部分为:t=osw7

5、获取指定Url参数的方法

//paraName 等找参数的名称
function GetUrlParam(paraName) {
    var url = document.location.toString();
    var arrObj = url.split("?");

    if (arrObj.length > 1) {
        var arrPara = arrObj[1].split("&");
        var arr;

        for (var i = 0; i < arrPara.length; i++) {
            arr = arrPara[i].split("=");

            if (arr != null && arr[0] == paraName) {
                return arr[1];
            }
        }
        return "";
    }
    else {
        return "";
    }
}

调用方法:GetUrlParam(“id”);

举例说明:假如当网页的网址有这样的参数 test.htm?id=896&s=q&p=5,则调用 GetUrlParam(“p”),返回 5。

原文链接https://blog.csdn.net/weixin_44867717/article/details/120524629

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐