
js document.referrer/domain/location获取前一页、当前页网址(地址)
在网页设计过程中,无论前台还是后台都会有获取前一页或当前页网址的时候,后台获取用后编程语言(如C#、PHP),前台获取就只能用javascript脚本。js获取上一页网址不是每次都能获取到,只有存在上一页的时候才能获取到,也就是当前页是点击网站上的某一个链接打开时才能获取到,如果直接在浏览器地址栏输入网址打开的网页,是不能获取上一页的地址的。
javascript获取上一页网址用document.referrer,而获取当前页网址用document.location,另外,用document.domain可以直接获取到当前页的域名,这些获取方法分别举例如下。
一、js document.referrer获取前一页网址(地址)
javascript代码:
<script type="text/javascript">
function GetReferrer() {
var preUrl = document.referrer;
if (preUrl == null)
return "前一页网址为空";
else
return preUrl;
}
</script>
以上获取前一页网址的代码直接封装成了一个方法,如果获取到,则返回上一页的网址;如果没有获取到,则返回提示文字,当然也可以返回空。
二、js document.domain当前域名
javascript代码:
function GetDomain() {
var domain = document.domain;
if (domain == null)
return "获取域名失败";
else
return domain;
}
这个方法获取当前页域名几乎不会失败,除非代码有错误,或者发生异常。只获取域名,不获取网页文件的路径,如果在本地调试,只获取localhost。
三、js 获取前一页域名
javascript代码:
function GetReferrerDomain() {
var preUrl = document.referrer;
if (preUrl == null) {
return "获取前一页域名失败";
}
else {
return preUrl.split('/')[2];//把前一页网址用斜杠拆分为数组,第三个元素就是域名
}
}
或
function GetReferrerDomain() {
var preUrl = document.referrer;
if (preUrl == null) {
return "获取前一页域名失败";
}
else {
var a = document.createElement('a');//创建一个超链接元素 a
a.href = preUrl;
return a.hostname;//返回 a 的主机名,即域名
}
}
四、js document.location获取当前页网址(地址)
javascript代码:
function GetCurrentUrl() {
var url = document.location.href;
if (url == null)
return "";
else
return url;
}
如果获取到当前页地址,则返回该地址;如果没有获取到当前页地址,则返回空,当然,这种可能几乎不会出现。