zoukankan      html  css  js  c++  java
  • JS 获得当前地址栏url

    URL即:统一资源定位符 (Uniform Resource Locator, URL) 
    完整的URL由这几个部分构成: 
    scheme://host:port/path?query#fragment 
    scheme:通信协议 
    常用的http,ftp,maito等 

    host:主机 
    服务器(计算机)域名系统 (DNS) 主机名或 IP 地址。 

    port:端口号 
    整数,可选,省略时使用方案的默认端口,如http的默认端口为80。 

    path:路径 
    由零或多个"/"符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。 

    query:查询 
    可选,用于给动态网页(如使用CGI、ISAPI、PHP/JSP/ASP/ASP.NET等技术制作的网页)传递参数,可有多个参数,用"&"符号隔开,每个参数的名和值用"="符号隔开。 

    fragment:信息片断 
    字符串,用于指定网络资源中的片断。例如一个网页中有多个名词解释,可使用fragment直接定位到某一名词解释。(也称为锚点.) 

    对于这样一个URL 

    http://www.x2y2.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere 


    我们可以用javascript获得其中的各个部分 
    1, window.location.href 
    整个URl字符串(在浏览器中就是完整的地址栏) 
    本例返回值: http://www.x2y2.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere 

    2,window.location.protocol 
    URL 的协议部分 
    本例返回值:http: 

    3,window.location.host 
    URL 的主机部分 
    本例返回值:www.x2y2.com 

    4,window.location.port 
    URL 的端口部分 
    如果采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符 
    本例返回值:"" 

    5,window.location.pathname 
    URL 的路径部分(就是文件地址) 
    本例返回值:/fisker/post/0703/window.location.html 

    6,window.location.search 
    查询(参数)部分 
    除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值 
    本例返回值:?ver=1.0&id=6 

    给链接加id : a href="src/html/description.html?id=变量"


    7,window.location.hash 
    锚点 
    本例返回值:#imhere

    那么就可以用这个方法取到指定参数: 

     1 function hooyesQueryString(queryStringName) {
     2         var returnValue = "";
     3         var URLString = new String(document.location);
     4         var serachLocation = -1;
     5         var queryStringLength = queryStringName.length;
     6         do {
     7             serachLocation = URLString.indexOf(queryStringName + "=");
     8             if (serachLocation != -1) {
     9                 if ((URLString.charAt(serachLocation - 1) == '?') || (URLString.charAt(serachLocation - 1) == '&')) {
    10                     URLString = URLString.substr(serachLocation);
    11                     break;
    12                 }
    13                 URLString = URLString.substr(serachLocation + queryStringLength + 1);
    14             }
    15         }
    16         while (serachLocation != -1){
    17             if (serachLocation != -1) {
    18                 var seperatorLocation = URLString.indexOf("&");
    19                 if (seperatorLocation == -1) {
    20                     returnValue = URLString.substr(queryStringLength + 1);
    21                 } else {
    22                     returnValue = URLString.substring(queryStringLength + 1, seperatorLocation);
    23                 }
    24             }
    25             return returnValue;
    26         }
    27         
    28     }

    然后:hooyesQueryString("id")就取到id参数的值

    参考:http://www.360doc.com/content/10/0831/14/2923250_50123779.shtml

  • 相关阅读:
    27 Spring Cloud Feign整合Hystrix实现容错处理
    26 Spring Cloud使用Hystrix实现容错处理
    25 Spring Cloud Hystrix缓存与合并请求
    24 Spring Cloud Hystrix资源隔离策略(线程、信号量)
    23 Spring Cloud Hystrix(熔断器)介绍及使用
    22 Spring Cloud Feign的自定义配置及使用
    21 Spring Cloud使用Feign调用服务接口
    20 Spring Cloud Ribbon配置详解
    19 Spring Cloud Ribbon自定义负载均衡策略
    18 Spring Cloud Ribbon负载均衡策略介绍
  • 原文地址:https://www.cnblogs.com/qihang0/p/11592522.html
Copyright © 2011-2022 走看看