【JavaScript】获取当前页的URL与window.location.href

原文:http://blog.csdn.net/yongh701/article/details/45688743

利用JavaScript获取当前页的URL,这个问题起来好像很复杂,如果第一次去想这个问题,很多人估计又在琢磨到底又是哪个神一般的Javascript函数。

其实不是,Javascript获取当前页的URL的函数就是我们经常用来重定向的window.location.href。

比如如下函数:

[javascript] view plain copy
 
 print?
  1. <script>  
  2. var url=window.location.href;  
  3. var loc = url.substring(url.lastIndexOf('/')+1, url.length);   
  4. alert("url="+url+",loc="+loc);  
  5. </script>  

如果当前页面的url为http://localhost:6666/myphp/mobile/pc1.php,那么其运行结果如下:

上面的函数同时展示如何获取当前页名称的做法。

获取利用window.location.href的变量获取整个url之后,要哪一部分的地址,利用substring,indexof等字符串处理函数对获取到的url进行处理,截取你想要的部分。

平时利用window.location.href做重定向,就是改变整个浏览器的url,

如果后面没有赋值,这就成了获取当前值的语句。

与document.getElementById("xx").value一样,你能够修改,就能够获取了。

当然,如果获取一些特定的值,比如当前的协议与端口,就不用截取字符串这么麻烦了。

直接利用window.location.port拿端口,window.location.protocol拿协议,window.location.search还能拿url问号后面的部分,当然也可以利用它们来改相应的值。

比如如下代码:

[javascript] view plain copy
 
 print?
  1. alert("protocol:"+window.location.protocol+",port:"+window.location.port);  
其运行结果如下:

补充:substring(start,stop)知识

语法

语法
stringObject.substring(start,stop)

 

返回值

  一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start

说明

  substring() 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。

  如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。

 

 
原文地址:https://www.cnblogs.com/mmzuo-798/p/6377006.html