获取当前域名使用JavaScript(不是路径等)(Get The Current Domain N

2019-06-26 03:49发布

我打算购买这两个域名为同一站点。 根据使用的域上我打算提供网页上略有不同的数据。 有我的方式来检测实际的域名,页面由让我知道我的内容更改为加载?

我环顾四周,像这样的东西,但大部分没有工作,我希望它的方式。

例如,当使用

document.write(document.location)

上的jsfiddle返回

http://fiddle.jshell.net/_display/

即实际路径或不管它是什么。

Answer 1:

怎么样:

window.location.hostname

location对象实际上有许多属性指的是URL的不同部分



Answer 2:

如果你不感兴趣的主机名(例如www.beta.example.com ),但在域名(例如example.com ),这个工程的有效主机名:

function getDomainName(hostName)
{
    return hostName.substring(hostName.lastIndexOf(".", hostName.lastIndexOf(".") - 1) + 1);
}


Answer 3:

function getDomain(url, subdomain) {
    subdomain = subdomain || false;

    url = url.replace(/(https?:\/\/)?(www.)?/i, '');

    if (!subdomain) {
        url = url.split('.');

        url = url.slice(url.length - 2).join('.');
    }

    if (url.indexOf('/') !== -1) {
        return url.split('/')[0];
    }

    return url;
}

例子

  • getDomain( ' http://www.example.com '); // example.com
  • getDomain( 'www.example.com'); // example.com
  • getDomain( ' http://blog.example.com ',TRUE); // blog.example.com
  • getDomain(location.href); // ..

以前的版本快满域(包括子域)。 现在,它决定根据喜好权域。 所以,当第二个参数为真只要将包含子,否则仅返回“主域”



Answer 4:

尝试在脚本中运行:路径: HTTP://本地主机:4200 /登陆查询= 1#2

console.log(window.location.hash)

位置有以下值:

window.location.hash: "#2"
​
window.location.host: "localhost:4200"
​
window.location.hostname: "localhost"
​
window.location.href: "http://localhost:4200/landing?query=1#2"
​
window.location.origin: "http://localhost:4200"
​
window.location.pathname: "/landing"
​
window.location.port: "4200"
​
window.location.protocol: "http:"

window.location.search: "?query=1"


Answer 5:

您可以从位置对象的Javascript得到它很容易:

对于本网页的URL示例如下:

http://www.stackoverflow.com/questions/11401897/get-the-current-domain-name-with-javascript-not-the-path-etc

然后,我们可以用以下的位置对象的属性得到确切的域:

location.host = "www.stackoverflow.com"
location.protocol= "http:"

你可以用全域:

location.protocol + "//" + location.host

在这个例子中返回http://www.stackoverflow.com

我加入这个我们可以得到完整的网址,并与定位对象的其他属性的路径:

location.href= "http://www.stackoverflow.com/questions/11401897/get-the-current-domain-name-with-javascript-not-the-path-etc"    
location.pathname= "questions/11401897/get-the-current-domain-name-with-javascript-not-the-path-etc"


Answer 6:

如果你只在域名感兴趣,并希望忽略的子域,那么你需要解析出来的hosthostname

下面的代码执行此操作:

var firstDot = window.location.hostname.indexOf('.');
var tld = ".net";
var isSubdomain = firstDot < window.location.hostname.indexOf(tld);
var domain;

if (isSubdomain) {
    domain = window.location.hostname.substring(firstDot == -1 ? 0 : firstDot + 1);
}
else {
  domain = window.location.hostname;
}

http://jsfiddle.net/5U366/4/



Answer 7:

使用

document.write(document.location.hostname)​

window.location有一堆属性。 见这里为他们的名单。



Answer 8:

如果你希望全域原点,您可以使用此:

document.location.origin

如果你希望得到的只是域名,使用可你只是这样的:

document.location.hostname

但是,你还有其他的选择,看看在性能:

document.location


Answer 9:

由于这个问题问的域名,而不是主机名,一个正确的答案应该是

window.location.hostname.split('.').slice(-2).join('.')

这适用于主机的名称,如www.example.com过。



Answer 10:

如果你想在JavaScript中获取域名,只需要使用下面的代码:

var domain_name = document.location.hostname;
alert(domain_name);

如果你需要的网页的URL路径,以便您可以访问网页的URL路径用这个例子:

var url = document.URL;
alert(url);


Answer 11:

我的情况最匹配window.location.origin



Answer 12:

这个怎么样的功能?

window.location.hostname.match(/\w*\.\w*$/gi)[0]

这将只匹配域名,而不考虑如果一个子域或主域



Answer 13:

我想,这应该是如此简单:

url.split("/")[2]



Answer 14:

我是新来的JavaScript,但不能你只需要使用:document.domain的

例:

<p id="ourdomain"></p>

<script>
var domainstring = document.domain;
document.getElementById("ourdomain").innerHTML = (domainstring);
</script>

输出:

domain.com

要么

www.domain.com

这取决于你用什么在您的网站。



文章来源: Get The Current Domain Name With Javascript (Not the path, etc.)