与检查用户代理是否通过正确的域进行访问相比,以下哪一项最有效?
如果他们使用某种Web代理访问域,我们想展示一个基于js的小“顶栏”样式警告(因为它倾向于破坏JS)。
我们正在考虑使用以下内容:
var r = /.*domain\.com$/;
if (r.test(location.hostname)) {
// showMessage ...
}
这将照顾到我们曾经使用过的任何子域。
我们应该使用哪个主机名或主机名?
在Firefox 5和Chrome 12中:
console.log(location.host);
console.log(location.hostname);
..对两个都显示相同的内容。
那是因为端口实际上不在地址栏中吗?
W3Schools说主机包含端口。
应该验证一下location.host/hostname还是在IE6 +中以及我们将要存在的所有其他内容中完全确定?
作为一个小提示:交互式链接剖析
-
简而言之(假设位于
http://example.org:8888/foo/bar#bang
):hostname
给你example.org
host
给你example.org:8888