用 Javascript 可以单独获取当前域名、Url、相对路径和参数,所谓单独攻取,即域名不包括网页文件的路径和参数、参数不包括域名和网页文件路径,下面分别介绍。

一、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。

2、获取Url中指定参数的值
首先通过 document.location 获得当前访问网页的网址,其次用 split 方法通过“?”把网址分为两部分。如果网址中有参数(arrObj.length > 1);再用 split 方法通过 “&”把每个参数分开;接着用 for 循环检查参数中是否有与要找的参数相同参数,如果有,则返回参数的值;如果没有,继续循环直到找完所有参数。如果网址中没有参数和没有找到参数,都返回空。

实现代码如下:

//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=96&user=jacky&p=5,则调用 GetUrlParam(“user”),返回jacky.

另外一篇总结

输入的网址是(没有框架):http://localhost:81/Test/1.htm?Did=123
以下为输出:

<SCRIPT>

//获取Url传过来的值
function Request(name)
{
new RegExp(“(^|&)”+name+”=([^&]*)”).exec(window.location.search.substr(1));
return RegExp.$2
}

thisURL = document.URL;     // http://localhost:81/Test/1.htm?Did=123
thisHREF = document.location.href; // http://localhost:81/Test/1.htm?Did=123
thisSLoc = self.location.href;   // http://localhost:81/Test/1.htm?Did=123
thisDLoc = document.location;   // http://localhost:81/Test/1.htm?Did=123

thisTLoc = top.location.href;   // http://localhost:81/Test/1.htm?Did=123
thisPLoc = parent.document.location;// http://localhost:81/Test/1.htm?Did=123
thisTHost = top.location.hostname; // localhost
thisHost = location.hostname;   // localhost

thisU1 = window.location.protocol; // http:
thisU2 = window.location.host;   // localhost:81
thisU3 = window.location.pathname; // /Test/1.htm

document.writeln( thisURL + “<br />”);
document.writeln( thisHREF + “<br />”);
document.writeln( thisSLoc + “<br />”);
document.writeln( thisDLoc + “<br />”);

document.writeln( thisTLoc + “<br />”);
document.writeln( thisPLoc + “<br />”);
document.writeln( thisTHost + “<br />”);
document.writeln( thisHost + “<br />”);

document.writeln( thisU1 + “<br />”);
document.writeln( thisU2 + “<br />”);
document.writeln( thisU3 + “<br />”);

document.writeln( “Did=”+Request(“Did”) );// Did=123
</SCRIPT>