这篇文章主要介绍了js获取域名的方法,涉及window.location中常见方法的使用技巧。
应用场景: 当使用JS调用到域名或者路径的时候,在不同的网页进行输出,这样可以多个域名使用相同的网页,但是展示不同的域名版权等信息。
具体方法:
第一步:先将如下代码放入head内:
<script>
//获取域名
var k_host = window.location.host;
var k_host2 = document.domain;
//获取页面完整地址
var k_url = window.location.href;
</script>
第二步:然后在页面调用的时候使用方法大体如下:
<script>
document.write(k_host);
document.write(k_host2);
document.write(k_url);
</script>
注意,上述代码可以只使用一个,或者都使用。具体根据自己的应用场景。
运行结果大致如下:
k_host:www.taohost.com
k_host2:www.taohost.com
k_url:https://www.taohost.com/xxx/xxx.htm
补充:
location.hostname 返回 web 主机的域名
location.pathname 返回当前页面的路径和文件名
location.port 返回 web 主机的端口 (80 或 443)
location.protocol 返回所使用的 web 协议(http:// 或 https://)
希望本文所述对大家的javascript程序设计有所帮助。
其他参考资料:
一、js获取当前域名有2种方法
1、方法一
var domain = document.domain;
2、方法二
var domain = window.location.host;
3、注意问题
由于获取到的当前域名不包括 http://,所以把获取到的域名赋给 a 标签的 href 时,别忘了加上 http://,否则单击链接时导航会出错。
二、获取当前Url的4种方法
var url = window.location.href;
var url = self.location.href;
var url = document.URL;
var url = document.location;
ie 地址栏显示的是什么,获取到的 url 就是什么。
三、获取当前相对路径的方法
首先获取 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。
四、获取当前Url参数的方法
1、获取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。
五、获取指定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。
其他重要参考资料:
JavaScript Window Location
window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。
Window Location
window.location 对象在编写时可不使用 window 这个前缀。 一些例子:
一些实例:
location.hostname 返回 web 主机的域名
location.pathname 返回当前页面的路径和文件名
location.port 返回 web 主机的端口 (80 或 443)
location.protocol 返回所使用的 web 协议(http: 或 https:)
Window Location Href
location.href 属性返回当前页面的 URL。
返回(当前页面的)整个 URL:
<script>
document.write(location.href);
</script
以上代码输出参考为:
https://www.taohost.com/xxx/xxx.html
Window Location Pathname
location.pathname 属性返回 URL 的路径名。
返回当前 URL 的路径名:
<script>
document.write(location.pathname);
</script>
以上代码输出参考为:
/js/js-window-location.html
Window Location Assign
location.assign() 方法加载新的文档。
加载一个新的文档:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>测试测试taohost</title>
</head>
<head>
<script>
function newDoc(){
window.location.assign("https://www.taohost.com")
}
</script>
</head>
<body>
<input type="button" value="加载新文档" onclick="newDoc()">
</body>
</html>