我只想获取网站URL。不是从链接获取的URL。在页面加载时,我需要能够获取网站的完整、当前URL,并将其设置为一个变量,以便根据需要进行处理。


获取当前页面URL:

window.location.href

Use:

window.location.href

正如评论中所指出的,下面这行行是有效的,但它对Firefox来说是错误的。

document.URL

请参阅DOMString类型的URL,只读。


使用window.location对与当前帧关联的位置对象进行读写访问。如果您只想以只读字符串形式获取地址,可以使用document.URL,它应该包含与window.location.href相同的值。


var currentPageUrlIs = "";
if (typeof this.href != "undefined") {
       currentPageUrlIs = this.href.toString().toLowerCase(); 
}else{ 
       currentPageUrlIs = document.location.toString().toLowerCase();
}

以上代码也可以帮助某人


URL信息访问

JavaScript为您提供了许多方法来检索和更改显示在浏览器地址栏中的当前URL。所有这些方法都使用Location对象,这是Window对象的属性。您可以通过读取window.Location来读取当前Location对象:

var currentLocation = window.location;

基本URL结构

<protocol>//<hostname>:<port>/<pathname><search><hash>

protocol:指定用于访问Internet上资源的协议名称。(HTTP(不带SSL)或HTTPS(带SSL))hostname:主机名指定拥有资源的主机。例如,www.stackeoverflow.com。服务器使用主机名提供服务。端口:用于识别Internet或其他网络消息到达服务器时要转发到的特定进程的端口号。路径名:路径提供有关Web客户端希望访问的主机内特定资源的信息。例如,/index.html。搜索:路径组件后面有一个查询字符串,它提供了资源可以用于某些目的的信息字符串(例如,作为搜索的参数或作为要处理的数据)。hash:URL的锚定部分,包括哈希符号(#)。

使用这些Location对象财产,您可以访问所有这些URL组件以及它们可以设置或返回的内容:

href-整个URLprotocol-URL的协议host—URL的主机名和端口hostname—URL的主机名port-服务器用于URL的端口号pathname—URL的路径名search-URL的查询部分hash-URL的锚定部分origin-window.location.protocol+'//'+window.location.host

我希望你得到了答案。。


使用:window.location.href。

如上所述,更新window.location时,document.URL不会更新。请参阅MDN。


对于带有查询字符串的完整URL:

document.location.toString()

对于主机URL:

window.location

使用window.location.href获取完整的URL。使用window.location.pathname获取离开主机的URL。


要获取路径,可以使用:

console.log('document.location',document.location.href);console.log('location.pathname',window.location.pathname);//仅返回路径console.log('location.href',window.location.href);//返回完整URL


获取当前位置对象的方法是window.location。

将其与document.location进行比较,后者最初仅以字符串形式返回当前URL。可能是为了避免混淆,document.location被document.URL替换。

而且,所有现代浏览器都会将document.location映射到window.location。

实际上,为了跨浏览器安全,应该使用window.location而不是document.location。


在jstl中,我们可以使用pageContext.request.contextPath访问当前的URL路径。如果要进行Ajax调用,请使用以下URL。

url = "${pageContext.request.contextPath}" + "/controller/path"

示例:对于页面http://stackoverflow.com/posts/36577223这将给http://stackoverflow.com/controller/path.


您可以使用以下方法获取带有哈希标记的当前URL位置:

JavaScript:

 // Using href
 var URL = window.location.href;

 // Using path
 var URL = window.location.pathname;

jQuery:

$(location).attr('href');

您可以通过location.href获取当前页面的完整链接要获取当前控制器的链接,请使用:

location.href.substring(0, location.href.lastIndexOf('/'));

location.origin+location.pathname+location.search+location.hash;

and

location.href

也一样。


打开开发人员工具,在控制台中键入以下内容,然后按Enter键。

window.location

下面是当前页面上的结果截图。

从这里获取您需要的信息。:)


好的,使用纯JavaScript很容易获得当前页面的完整URL。例如,在此页面上尝试以下代码:

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=“此页面的完整URL为:<br>”+window.location.href;<!DOCTYPE html><html><body><h2>JavaScript</h2><h3>窗口.location.href</h3><p id=“root”></p></body></html>

同样值得一提的是:

如果需要相对路径,只需使用window.location.pathname;如果要获取主机名,可以使用window.location.hostname;如果需要单独获取协议,请使用window.location.protocol此外,如果您的页面具有哈希标记,则可以获取如下内容:window.location.hash。

所以window.location.href一次处理所有内容。。。基本上:

window.location.protocol + '//' + window.location.hostname + window.location.pathname + window.location.hash === window.location.href;
    //true

如果已经在窗口范围内,则不需要使用窗口。。。

因此,在这种情况下,您可以使用:

location.protocol

location.hostname

location.pathname

location.hash

location.href


添加结果以供快速参考

窗口位置;

 Location {href: "https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript",
 ancestorOrigins: DOMStringList,
 origin: "https://stackoverflow.com",
 replace: ƒ, assign: ƒ, …}

文档位置

  Location {href: "https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript", 
ancestorOrigins: DOMStringList,
 origin: "https://stackoverflow.com",
 replace: ƒ, assign: ƒ
, …}

窗口位置路径名

"/questions/1034621/get-the-current-url-with-javascript"

窗口.location.href

"https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript"

位置主机名

"stackoverflow.com"

使用JavaScript获取当前URL:

window.location.toString();窗口.location.href


如果您引用的是具有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=“”即可。


首先检查页面是否完全加载到

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 );
});

对于那些想要一个实际的URL对象的人,可能是一个以URL为参数的实用程序:

const url = new URL(window.location.href)

https://developer.mozilla.org/en-US/docs/Web/API/URL


Nikhil Agrawal的回答很好,只是在这里添加了一个小示例,您可以在控制台中看到不同的组件:

如果您想要不带路径或查询参数的基本URL(例如,对其执行AJAX请求以在开发/登台和生产服务器上运行),window.location.origin是最好的,因为它保留了协议和可选端口(在Django开发中,有时会有一个非标准端口,如果您只使用主机名等,就会中断它)


短的

location+''

let url=location+'';console.log(url);


你有多种方法可以做到这一点。

1:

location.href;

2:

document.URL;

3:

document.documentURI;

使用此项:

var url=window.location.href;console.log(url);



// http://127.0.0.1:8000/projects/page/2?name=jake&age=34
let url = new URL(window.location.href);
/*
hash: ""

host: "127.0.0.1:8000"

hostname: "127.0.0.1"

href: "http://127.0.0.1:8000/projects/page/2?username=jake&age=34"

origin: "http://127.0.0.1:8000"

password: ""

pathname: "/projects/page/2"

port: "8000"

protocol: "http:"

search: "?name=jake&age=34"

username: ""
*/

url.searchParams.get('name')
// jake

url.searchParams.get('age')
// 34

url.searchParams.get('gender')
// null

要获取路径,可以使用:

http://www.example.com:8082/index.php#tab2?foo=789

Property                    Result
------------------------------------------
window.location.host        www.example.com:8082
window.location.hostname    www.example.com
window.location.port        8082
window.location.protocol    http:
window.location.pathname    index.php
window.location.href        http://www.example.com:8082/index.php#tab2
window.location.hash        #tab2
window.location.search      ?foo=789
window.location.origin      https://example.com


let url=新url(window.location.href);console.log(url.href);

使用以上代码获取网站的当前URL。

或者试试这个https://bbbootstrap.com/code/get-current-url-javascript-54628697