Get the current URL with JavaScript?
我只想得到网站的网址。不是从链接中获取的URL。在页面加载时,我需要能够抓取网站的完整、当前的URL,并将其设置为一个变量,以便按我的意愿进行操作。
用途:
1 | window.location.href |
正如注释中所指出的,下面的行可以工作,但它是针对Firefox的。
1 | document.URL; |
请参阅domstring类型的url,readonly。
URL信息访问
javascript为您提供了许多方法来检索和更改当前的URL,这些URL显示在浏览器的地址栏中。所有这些方法都使用
1 | var currentLocation = window.location; |
基本URL结构
1 | <protocol>//<hostname>:<port>/<pathname><search><hash> |
协议:指定用于访问Internet上资源的协议名称。(HTTP(不带SSL)或HTTPS(带SSL))
host name:host name指定拥有资源的主机。例如,
www.stackoverflow.com 。服务器使用主机名提供服务。端口:一个端口号,用于识别一个特定的进程,当Internet或其他网络消息到达服务器时,它将被转发到该进程。
路径名:该路径提供有关Web客户端要访问的主机内特定资源的信息。例如,
/index.html 。查询:查询字符串跟随路径组件,并提供资源可用于某些目的的信息字符串(例如,作为搜索的参数或作为要处理的数据)。
哈希:URL的锚定部分,包括哈希符号()。
通过这些
- href-整个URL
- 协议-URL的协议
- 主机-URL的主机名和端口
- hostname-URL的主机名
- 端口-服务器用于URL的端口号
- 路径名-URL的路径名
- 搜索-URL的查询部分
- hash-URL的锚定部分
我希望你能得到答案。
使用
获取当前网页的URL:
1 | window.location.href |
要获取路径,可以使用:
1 2 3 | 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 |
打开开发人员工具,在控制台中键入以下内容,然后按Enter键。
1 | window.location |
例:下面是当前页面上结果的屏幕截图。
从这里拿你需要的东西。:)
用途:
如上所述,在更新
好的,使用纯JavaScript很容易获得当前页面的完整URL。例如,在此页上尝试此代码:
1 2 3 | window.location.href; // use it in the console of this page will return // http://stackoverflow.com/questions/1034621/get-current-url-in-web-browser" |
The window.location.href property returns the URL of the current page.
1 | document.getElementById("root").innerHTML ="The full URL of this page is:" + window.location.href; |
1 2 3 4 5 6 7 8 9 10 11 | <!DOCTYPE html> <html> <body> JavaScript The window.location.href <p id="root"> </p> </body> </html> |
提到这些也不赖:
如果需要相对路径,只需使用
如果您想知道主机名,可以使用
如果需要单独获取协议,只需执行
另外,如果页面上有
所以
1 2 | window.location.protocol + '//' + window.location.hostname + window.location.pathname + window.location.hash === window.location.href; //true |
同时使用
因此,在这种情况下,您可以使用:
1 2 3 4 5 6 7 8 9 | location.protocol location.hostname location.pathname location.hash location.href |
- 使用
window.location.href 获取完整的URL。 - 使用
window.location.pathname 获取离开主机的URL。
您可以使用以下方法获取具有哈希标记的当前URL位置:
JavaScript:
1 2 3 4 5 | // Using href var URL = window.location.href; // Using path var URL = window.location.pathname; |
jQuery:
1 | $(location).attr('href'); |
1 2 3 4 5 6 | var currentPageUrlIs =""; if (typeof this.href !="undefined") { currentPageUrlIs = this.href.toString().toLowerCase(); }else{ currentPageUrlIs = document.location.toString().toLowerCase(); } |
上面的代码也可以帮助某人
添加结果以供快速参考
window.location;
1 2 3 4 | Location {href:"https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript", ancestorOrigins: DOMStringList, origin:"https://stackoverflow.com", replace: ?, assign: ?, …} |
document.location
1 2 3 4 5 | Location {href:"https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript", ancestorOrigins: DOMStringList, origin:"https://stackoverflow.com", replace: ?, assign: ? , …} |
window.location.pathname
1 | "/questions/1034621/get-the-current-url-with-javascript" |
window.location.href
1 | "https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript" |
location.hostname
1 | "stackoverflow.com" |
对于包含查询字符串的完整URL:
1 | document.location.toString().toLowerCase(); |
对于主机URL:
1 | window.location |
在JSTL中,我们可以使用
1 | url ="${pageContext.request.contextPath}" +"/controller/path" |
示例:对于
获取当前位置对象的方法是
将其与
而且,所有的现代浏览器都将
实际上,为了跨浏览器安全,您应该使用
您可以通过
1 | location.href.substring(0, location.href.lastIndexOf('/')); |
1 | location.origin+location.pathname+location.search+location.hash; |
使用javascript获取当前URL:
window.location.toString();
window.location.href
如果您引用的是具有ID的特定链接,则此代码可以帮助您。
1 2 3 4 5 6 7 8 9 10 11 12 13 | $(".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重定向页面。如前所述,只需添加属性
首先检查页面是否在浏览器中完全加载,然后调用一个函数,该函数接受URL、URL变量并在控制台上打印,
1 2 3 4 5 6 7 8 | $(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 ); }); |