提问



我想要的只是获取网站URL。不是从链接中获取的URL。在页面加载中,我需要能够获取网站的完整,当前URL并将其设置为变量以便随意使用。

最佳参考


使用:


window.location.href 


正如评论中所指出的那样,下面这一行有效,但是对于Firefox来说也是如此。


document.URL;


请参阅 DOMString类型的网址,只读[54]

其它参考1


网址信息访问


JavaScript为您提供了许多检索和更改当前URL的方法,这些方法显示在浏览器的地址栏中。所有这些方法都使用Location对象,这是Window对象的属性。可以创建一个具有当前URL的新Location对象,如下所示:


var currentLocation = window.location;


基本网址结构


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



  • protocol:指定用于访问Internet上资源的协议名称。 (HTTP(不使用SSL)或HTTPS(使用SSL))

  • 主机名:主机名指定拥有该资源的主机。例如,www.stackoverflow.com。服务器使用主机名提供服务。

  • 端口:用于识别Internet或其他网络邮件到达服务器时要转发到的特定进程的端口号。

  • pathname:该路径提供有关Web客户端要访问的主机中特定资源的信息。例如,/index.html

  • query:查询字符串在路径组件后面,并提供资源可用于某种目的的信息字符串(例如,作为搜索的参数或要处理的数据) 。

  • 哈希:网址的锚点部分包含井号(#)。



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



  • href - 整个网址

  • 协议 - 网址
  • 的协议
  • 主机 - 网址的主机名和端口

  • 主机名 - 网址的主机名

  • 端口 - 服务器用于网址的端口号

  • 路径名 - 网址的路径名

  • 搜索 - 网址的查询部分

  • 哈希 - 网址
  • 的锚点部分


我希望你得到答案..

其它参考2


不到24小时前就提出了同样的问题。引用自己:



  使用window.location进行读取和
  写入访问该位置
  目的
  与当前帧相关联。如果
  你只想把地址作为一个
  您可以使用只读字符串
  document.URL,应该包含
  与...相同的价值
  window.location.href[56]


其它参考3


获取当前页面URL:


window.location.href

其它参考4


要获取路径,您可以使用:




alert("Url  ="+document.location);
alert("PathName  ="+ window.location.pathname);// Returns path only
alert("url  ="+window.location.href);// Returns full URL



使用:window.location.href


如上所述,更新window.locationdocument.URL 不会更新。请参阅MDN。[57]

其它参考5


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


window.location


例如:下面是当前页面上结果的屏幕截图。


[58]


从这里抓住你需要的东西。 :)

其它参考6



  • 使用window.location.href获取完整的网址。

  • 使用window.location.pathname获取离开主机的网址。


其它参考7


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


JavaScript的:


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

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


的jQuery :


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

其它参考8


好的,使用纯JavaScript可以轻松获取当前页面的完整网址。例如,在此页面上尝试此代码:


window.location.href;
// use it in 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>



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


上面的代码也可以帮助别人

其它参考9


对于包含查询字符串的完整URL:


document.location.toString().toLowerCase();


对于主机URL:


window.location

其它参考10


添加结果以便快速参考



  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"

其它参考11


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


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


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

其它参考12


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


将其与document.location进行比较,document.location最初只将当前URL作为字符串返回。可能为避免混淆,document.locationdocument.URL取代。


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


实际上,对于跨浏览器的安全性,您应该使用window.location而不是document.location

其它参考13


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

其它参考14


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


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

其它参考15


window.location.toString();





window.location.href

其它参考16


如果您指的是具有 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=""