我想做一些js分析,所以我需要知道如何将用户在地址栏中输入的任何内容作为js变量,这样我才能知道最常见的拼写错误。这样我就可以将最常见的拼写错误重定向到正确的地址,并减少404页面请求。
浏览器中用户输入的示例:
https://stackoverflow.com/questions
.........................................
我尝试过使用
document.location
但是显示用户所在的页面(即404页面地址),而不是他们键入的内容
答案 0 :(得分:25)
这为您提供了用户所在的确切网址:
document.location.href
在提交请求之前无法确定用户键入的内容(出于安全原因)。
答案 1 :(得分:3)
JavaScript为您提供了许多方法来使当前URL显示在Web浏览器地址栏中。您可以使用Window对象的Location对象属性来获取这些详细信息。
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);
}