/**
* 当填写参数href后,解析你给的参数,如果为空自动从获取浏览器的地址
        *测试路径:>>>http://127.0.0.1:8020/url/index.html?id=1.2&gys=7777777777777777777777777&name=思思博士#api/126
*/
function urlResolve(href){
return {
href:href?href:window.location.href,//获取路径
search:window.location.search,// 查询(参数)部分 带问号的
pathname:window.location.pathname,//页面路径 url/index.html
port:window.location.port,//URL 的端口部分 8080
protocol:window.location.protocol,//URL 的协议部分返回值 http:
host:window.location.host,//url主机部分返回值 127.0.0.1:8020
hash:window.location.hash, //锚点后面的值 #api/126
getPageName:function(){//获取页面名称
var arr=this.getPageNameAndExtName().split(".");
return arr[0];
},
getExtName:function(){//获取扩展名
var arr=this.getPageNameAndExtName().split(".");
return arr[1];
},
getPageNameAndExtName:function(){//获取页面名称和扩展名称
var arr=this.href.split("?")[0].split("/");
var len=arr.length;
return arr[len-1];
},
getParam:function(key){//获取参数
/**
* 填写了key获取指定的参数
* 没填写key参数获取所有的参数,以json格式返回
*/
var query=this.href.split("?")[1]
if(!query){
return null;
}
var params={};
var paramArr=query.split("&");
var len=paramArr.length;
var params={};
var itemParam=[];
if(arguments.length){//有参数
for(var i=0;i<len;i++){
itemParam=paramArr[i].split("=");
if(itemParam[0]==key){
return itemParam[1];
}
}
}else{//没有参数
for(var i=0;i<len;i++){
itemParam=paramArr[i].split("=");
params[itemParam[0]]=itemParam[1];
}
return params;
}
}
}
}

方法调用

var res=urlResolve().href;
res=urlResolve().search;
res=urlResolve().pathname;
res=urlResolve().port;
res=urlResolve().protocol;
res=urlResolve().host;
res=urlResolve().hash;
res=urlResolve().getPageName();
res=urlResolve().getExtName();
res=urlResolve().getPageNameAndExtName();
res=urlResolve().getParam("gys");
res=urlResolve("http://127.0.0.1:8020/url/1.html?gys=891260").getParam("gys");

js解析或获取页面路径归纳的更多相关文章

  1. js 和 jquery 获取页面和滚动条的高度 视口高度文档高度

    js 和 jquery 获取页面和滚动条的高度 //页面位置及窗口大小 function GetPageSize() { var scrW, scrH; if(window.innerHeight & ...

  2. js解析xml,获取XMl标签属性值

    <script type="text/javascript"> var xml="<?xml version=\"1.0\" enc ...

  3. OAF 获取页面路径

    --模糊查询某个页面 SELECT * FROM JDR_PATHS jp WHERE JP.PATH_NAME LIKE '%XXXX%'; --精确的查找过程 -- DocID --参数通过关于此 ...

  4. js或jsp 获取项目路径常用方法

    可以引入一个jsp,这个jsp的内容如下: <%@page pageEncoding="UTF-8" contentType="text/javascript; c ...

  5. js解析网址获取需要的数据

    /** * 获取地址栏内容,返回pathnamearrneed对象 * @param {Object} len 从第几位开始获取你需要的值 */ function myLocationId(len) ...

  6. JS与JQ 获取页面元素值的方法和差异对比

    获取浏览器高度和宽度 document.documentElement.clientWidth ==> 浏览器可见区域宽度 document.documentElement.clientHeig ...

  7. js获取页面名称和路径参数

    // 取当前页面名称(不带后缀名)function getPageName1(){    var a = location.href;    var b = a.split("/" ...

  8. jsp获取绝对路径

    在JavaWeb开发中,常使用绝对路径的方式引入javaScript和CSS文件,这样可以避免因为目录变动导致引入文件找不到的情况,常用的做法是: 一.使用${pageContext.request. ...

  9. freemarker页面如何获取绝对路径basePath

    1. freemarker获取系统相对路径方式 spring-mvc.xml 中配置 <!-- FreeMarker视图解析 如返回userinfo..在这里配置后缀名ftl和视图解析器.. - ...

随机推荐

  1. wikioi 1973 Fibonacci数列【输出第N项的值】

    /*===================================== 1978 Fibonacci数列 3 题目描述 Description 斐波纳契数列是这样的数列: f1 = 1 f2 ...

  2. python批量制作雷达图

    老板要画雷达图,但是数据好多组怎么办?不能一个一个点excel去画吧,那么可以利用python进行批量制作,得到样式如下: 首先制作一个演示的excel,评分为excel随机数生成: 1 =INT(( ...

  3. 【extjs】 Extjs中的Ext.grid.Panel隐藏列会显示在表头中解决方法

    在Extjs中的GridPanel会有这样的情况,隐藏列会显示在menuDisabled中,但是这个一般没有什么用处,只是用于后台取值的作用,感兴趣的朋友可以了解下啊,希望本文对你有所帮助   在Ex ...

  4. 封装类的方式访问数据库(封装字符串、json)

    <?php class DBDA { public $host="localhost";//服务器地址 public $uid="root";//用户名 ...

  5. 使用匿名委托,Lambda简化多线程代码

    使用匿名委托,Lambda简化多线程代码   .net中的线程也接触不少了.在多线程中最常见的应用莫过于有一个耗时的操作需要放到线程中去操作,而在这个线程中我们需要更新UI,这个时候就要创建一个委托了 ...

  6. Python基础教程【读书笔记】 - 2016/7/5

    希望通过博客园持续的更新,分享和记录Python基础知识到高级应用的点点滴滴! 第三波:第8章  异常 [总览]学习如何创建和引发自定义的异常,以及处理异常的各种方法. 为了能够处理异常事件,可以再所 ...

  7. Python基础教程【读书笔记】 - 2016/7/4

    希望通过博客园持续的更新,分享和记录Python基础知识到高级应用的点点滴滴! 第二波:第7章  更加抽象 [总览] 创建自己的对象,是Python的核心概念!Python被称为面向对象的语言.介绍如 ...

  8. Learning Puppet — Variables, Conditionals, and Facts

    Begin $my_variable = "A bunch of text" notify {$my_variable:} Yup, that’s a variable, all ...

  9. Makefile编译选项CC与CXX/CPPFLAGS、CFLAGS与CXXFLAGS/LDFLAGS

    转自:http://www.firekyrin.com/archives/597.html 编译选项 让我们先看看 Makefile 规则中的编译命令通常是怎么写的. 大多数软件包遵守如下约定俗成的规 ...

  10. 文件Copy和文件夹Copy

    文件Copy和文件夹Copy using System.Collections.Generic; using System.Linq; using System.Text; using System. ...