/**
* 当填写参数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. jspm 是浏览器包管理工具

    jspm 是浏览器包管理工具. jspm 是 SystemJS 通用模块加载器的包管理器,基于动态 ES6 模块加载器 直接从任意的 registry(比如 npm 或者 GitHub)加载任意模块格 ...

  2. Git服务器搭建及SSH无密码登录设置

    在Git服务器中建立一个git帐号,用于多人使用. adduser git输入此命令后,会在/home/下建立一个git文件 /home/git 下建立.ssh目录(注意,是.ssh..有个点!) c ...

  3. js添加事件通用方法

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. SOCKET:SO_LINGER 选项

    好多次接触到SO_LINGER选项,但总是忘了这是干什么用的.现在整理一下,我才明白这个参数是用来设定“SOCKET在CLOSE时候是否等待缓冲区发送完成”这个特性的.下面是一些详细的说明. sets ...

  5. ASIHttpRequest addRequestHeader的处理

    我现在用到了ASIHttpRequest来读取数据,这时候我发现里面的头在很多时候都是一样的.如用户的令牌,设备类型,ios版本,软件版本等 [self.request addRequestHeade ...

  6. FullCalendar

    一个非常完美的日期控件:https://fullcalendar.io/

  7. Verilog杂谈

    1. Testbech总是用reg去驱动DUT的input端口,因为需要在仿真期间设置和保持输入端的值(例如在initial中设置初值,在always中设置激励值): 2. 避免对局部reg在定义时赋 ...

  8. Shiro权限控制框架

    Subject:主体,可以看到主体可以是任何可以与应用交互的"用户": SecurityManager:相当于SpringMVC中的DispatcherServlet或者Strut ...

  9. Android反向工程需要的几个软件

    1.apktoolapktool d xxx.apk 得到全部的资源素材 2.dex2jardex2jar classes.dex 3.jd-gui把jar文件转成 .java的源代码

  10. iphone dev 入门实例1:Use Storyboards to Build Table View

    http://www.appcoda.com/use-storyboards-to-build-navigation-controller-and-table-view/ Creating Navig ...