如何从浏览器地址栏获取URL?

时间:2010-11-14 17:04:40

标签: javascript url

我想做一些js分析,所以我需要知道如何将用户在地址栏中输入的任何内容作为js变量,这样我才能知道最常见的拼写错误。这样我就可以将最常见的拼写错误重定向到正确的地址,并减少404页面请求。

浏览器中用户输入的示例:

https://stackoverflow.com/questions

.........................................

我尝试过使用

document.location

但是显示用户所在的页面(即404页面地址),而不是他们键入的内容

6 个答案:

答案 0 :(得分:25)

这为您提供了用户所在的确切网址:

document.location.href

在提交请求之前无法确定用户键入的内容(出于安全原因)。

答案 1 :(得分:3)

JavaScript为您提供了许多方法来使当前URL显示在Web浏览器地址栏中。您可以使用Window对象的Location对象属性来获取这些详细信息。

  1. href =>这将返回显示在地址栏中的整个URL。
  2. host =>这将在地址栏中返回URL的主机名和端口。
  3. 主机名=>这将仅返回地址栏中URL的主机名。
  4. port =>这将仅返回地址栏中URL的端口详细信息。
  5. protocol =>这将返回地址栏中的URL协议。就像URL使用HTTP(不使用SSL)或HTTPS(使用SSL)一样。
  6. pathname =>这将返回地址栏中URL的路径名(域名后的值)。
  7. hashpathname =>这将返回URL的锚点部分,包括哈希单(#)。
  8. search =>这将返回URL的查询部分,例如以问号(?)开头的部分。
    console.log(' href => ' + window.location.href);
    console.log(' host => ' + window.location.host);
    console.log(' hostname => ' + window.location.hostname);
    console.log(' port => ' + window.location.port);
    console.log(' protocol => ' + window.location.protocol);
    console.log(' pathname => ' + window.location.pathname);
    console.log(' hashpathname => ' + window.location.hash);
    console.log(' search=> ' + window.location.search);

参考: https://tecadmin.net/get-current-url-web-browser-using-javascript/

答案 2 :(得分:2)

您将不得不在服务器上执行此操作,因为这是原始404响应的来源。服务器肯定会收到错误的URL,所以必须要做的就是让你的服务器保留在某个地方。

答案 3 :(得分:1)

当您登陆404页面时,许多内容管理系统会保留该网址,因此您应该可以使用document.location.href,然后只需检查错误页面上的分析。

答案 4 :(得分:0)

javascript: alert(window.location.hostname);

如果要显示路径名,请将.hostname替换为.pathname

答案 5 :(得分:0)

这是获取重新加载链接地址的好方法,如果有的话,该地址应该包含输入到地址栏的URL。

var arr = [], l = document.links;
for(var i=0; i<l.length; i++) {
  arr.push(l[i].href);
}

来自:https://stackoverflow.com/a/3871370/1188090