0

有没有一种简单的方法可以从 URL 字符串中获取站点名称?

例子:

http://www.mysite.com/mypath/mypage -> www.mysite.com
http://mysite.com/mypath/mypage     -> mysite.com

JS 代码在 mongodb CLI 端执行,而不是在浏览器中。

4

5 回答 5

3

试试这个:

url.href = "http://www.mysite.com/mypath/mypag";

url.protocol; // => "http:"
url.hostname; // => "example.com" // site name, you want

具有页面的window.document.location.hrefurl,并且window.document.location.hostname将具有站点名称。

所以,

console.log(window.document.location.hostname); // will log the sitename in the console
于 2013-01-06T16:11:50.513 回答
1

简单的。

window.location.hostname; //Domain name

$("title").text(); //Page name

这也是

var loc = window.location;

var filename = loc.pathname.split("/");
filename = filename[pathname.length-1];

alert("Domain: "+loc.hostname);
alert("Filename: "+filename);
于 2013-01-06T16:11:09.817 回答
0

您可以滥用锚点来从 URL 中获取所需的数据。:D

function getDomain(url) {
  var anchor = document.createElement('a');
  anchor.setAttribute('href', url);

  return anchor.hostname;
}

console.log(getDomain('http://www.mysite.com/mypath/mypage'));
console.log(getDomain('http://mysite.com/mypath/mypage'));

http://jsfiddle.net/Js76M/

于 2013-01-06T17:04:56.077 回答
0

这对我很有效:

urlString.split('/')[2]

于 2013-01-06T18:42:35.260 回答
-1

我还需要从 url 获取域,以便在我的应用程序的参考部分仅显示域名。

我在这里找到了这个: https ://developer.mozilla.org/en-US/docs/Web/API/URL/URL

URL() 构造函数返回一个新创建的 URL 对象,表示由参数定义的 URL。

如果给定的基本 URL 或生成的 URL 不是有效的 URL,则会引发 JavaScript TypeError 异常。

function getDomain(url) {
   return new window.URL(url).hostname;
}

new URl(url) 返回具有以下属性的对象

hash: ""
host: "developer.mozilla.org"
hostname: "developer.mozilla.org"
href: "https://developer.mozilla.org/en-US/docs/Web/API/URL/URL"
origin: "https://developer.mozilla.org"
password: ""
pathname: "/en-US/docs/Web/API/URL/URL"
port: ""
protocol: "https:"
search: ""
于 2020-06-28T16:06:55.660 回答