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