我想要的只是获取网站网址。不是从链接中获取的URL。在页面加载中,我需要能够获取网站的完整当前URL并将其设置为变量以便随意使用。
答案 0 :(得分:3398)
使用:
window.location.href
正如评论中所指出的那样,下面这一行有效,但它对Firefox来说是错误的。
document.URL;
答案 1 :(得分:595)
网址信息访问
JavaScript为您提供了许多方法来检索和更改当前URL,该URL显示在浏览器的地址栏中。所有这些方法都使用Location
对象,这是Window
对象的属性。您可以创建具有当前URL的新Location
对象,如下所示:
var currentLocation = window.location;
基本网址结构
<protocol>//<hostname>:<port>/<pathname><search><hash>
protocol:指定用于访问Internet上资源的协议名称。 (HTTP(不使用SSL)或HTTPS(使用SSL))
主机名:主机名指定拥有该资源的主机。例如,www.stackoverflow.com
。服务器使用主机名提供服务。
port:用于识别Internet或其他网络邮件到达服务器时要转发的特定进程的端口号。
pathname:该路径提供有关Web客户端要访问的主机中特定资源的信息。例如,/index.html
。
查询:查询字符串在路径组件后面,并提供资源可用于某种目的的信息字符串(例如,作为搜索的参数或作为数据的数据)被处理)。
哈希:网址的锚点部分包含井号(#)。
使用这些Location
对象属性,您可以访问所有这些URL组件以及它们可以设置或返回的内容:
我希望你得到答案..
答案 2 :(得分:313)
使用window.location
对与当前帧关联的location object进行读写访问。如果您只想将地址作为只读字符串,则可以使用document.URL
,其中应包含与window.location.href
相同的值。
答案 3 :(得分:254)
获取当前页面网址:
window.location.href
答案 4 :(得分:36)
要获取路径,您可以使用:
console.log('document.location', document.location.href);
console.log('location.pathname', window.location.pathname); // Returns path only
console.log('location.href', window.location.href); // Returns full URL
&#13;
答案 5 :(得分:32)
答案 6 :(得分:27)
使用:window.location.href
。
如上所述,document.URL
在更新window.location
时无法更新。请参阅MDN。
答案 7 :(得分:25)
好的,使用纯JavaScript可以轻松获取当前页面的完整网址。例如,请在此页面上尝试此代码:
window.location.href;
// use it in the console of this page will return
// http://stackoverflow.com/questions/1034621/get-current-url-in-web-browser"
window.location.href属性返回当前页面的URL。
document.getElementById("root").innerHTML = "The full URL of this page is:<br>" + window.location.href;
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript</h2>
<h3>The window.location.href</h3>
<p id="root"></p>
</body>
</html>
也可以提到这些:
此外,如果您需要相对路径,只需使用window.location.pathname
;
如果您想获取主机名,可以使用window.location.hostname
;
如果您需要单独获取协议,只需执行window.location.protocol
此外,如果您的信息页包含hash
标记,则可以这样:window.location.hash
所以window.locatation.href
一次处理所有......基本上:
window.location.protocol + '//' + window.location.hostname + window.location.pathname + window.location.hash === window.location.href;
//true
如果已经在窗口范围内,也没有必要使用window
...
因此,在这种情况下,您可以使用:
location.protocol
location.hostname
location.pathname
location.hash
location.href
答案 8 :(得分:19)
window.location.href
获取完整的网址。 window.location.pathname
获取离开主机的网址。答案 9 :(得分:15)
您可以{/ 3}}使用:
<强> JavaScript的:强>
// Using href
var URL = window.location.href;
// Using path
var URL = window.location.pathname;
<强>的jQuery 强>:
$(location).attr('href');
答案 10 :(得分:10)
var currentPageUrlIs = "";
if (typeof this.href != "undefined") {
currentPageUrlIs = this.href.toString().toLowerCase();
}else{
currentPageUrlIs = document.location.toString().toLowerCase();
}
以上代码也可以帮助某人
答案 11 :(得分:8)
添加结果以便快速参考
window.location的;
Location {href: "https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript",
ancestorOrigins: DOMStringList,
origin: "https://stackoverflow.com",
replace: ƒ, assign: ƒ, …}
document.location
Location {href: "https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript",
ancestorOrigins: DOMStringList,
origin: "https://stackoverflow.com",
replace: ƒ, assign: ƒ
, …}
window.location.pathname
"/questions/1034621/get-the-current-url-with-javascript"
window.location.href
"https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript"
location.hostname
"stackoverflow.com"
答案 12 :(得分:7)
对于包含查询字符串的完整网址:
document.location.toString().toLowerCase();
对于主机网址:
window.location
答案 13 :(得分:4)
获取当前位置对象的方法是document.location
。
将此与document.location
进行比较,document.URL
最初仅将当前网址作为字符串返回。可能为避免混淆,document.location
已替换为window.location
。
并且,所有现代浏览器都将window.location
映射到document.location
。
实际上,对于跨浏览器的安全性,您应该使用{{1}}而不是{{1}}。
答案 14 :(得分:4)
在jstl中,我们可以使用pageContext.request.contextPath
访问当前的URL路径。如果要进行Ajax调用,请使用以下URL。
url = "${pageContext.request.contextPath}" + "/controller/path"
示例:对于页面http://stackoverflow.com/posts/36577223
,这将提供http://stackoverflow.com/controller/path
。
答案 15 :(得分:3)
答案 16 :(得分:2)
您有多种方法可以做到这一点。
1:
location.href;
2:
document.URL;
3:
document.documentURI;
答案 17 :(得分:2)
使用这个:
var url = window.location.href;
console.log(url);
答案 18 :(得分:0)
如果您指的是具有 id 的特定链接,则此代码可以为您提供帮助。
$(".disapprove").click(function(){
var id = $(this).attr("id");
$.ajax({
url: "<?php echo base_url('index.php/sample/page/"+id+"')?>",
type: "post",
success:function()
{
alert("The Request has been Disapproved");
window.location.replace("http://localhost/sample/page/"+id+"");
}
});
});
我在此处使用ajax提交ID,并使用 window.location.replace 重定向页面。只需按照说明添加属性id=""
。
答案 19 :(得分:0)
使用JavaScript获取当前网址
window.location.toString();
window.location.href
答案 20 :(得分:0)
Nikhil Agrawal的答案很好,只需在此处添加一个小示例,您就可以在控制台中查看正在运行的不同组件:
如果您希望不带路径或查询参数的基本URL(例如,针对AJAX请求在开发/登台和生产服务器上都可以使用),window.location.origin
最好,因为它既保留协议又可选端口(在Django开发中,有时您有一个非标准端口,如果您仅使用主机名等,则该端口会中断)。
答案 21 :(得分:0)
尝试
location+''
let url = location+'';
console.log(url);
答案 22 :(得分:0)
location.origin+location.pathname+location.search+location.hash;
答案 23 :(得分:0)
您可以通过location.href
获取当前页面的完整链接
要获取当前控制器的链接,请使用:
location.href.substring(0, location.href.lastIndexOf('/'));
答案 24 :(得分:-2)
首先检查页面是否已完全加载
browser,window.location.toString();
window.location.href
然后调用一个函数,该函数需要url,URL变量并在控制台上打印,
$(window).load(function(){
var url = window.location.href.toString();
var URL = document.URL;
var wayThreeUsingJQuery = $(location).attr('href');
console.log(url);
console.log(URL);
console.log(wayThreeUsingJQuery );
});