js解析或获取页面路径归纳
/**
* 当填写参数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解析或获取页面路径归纳的更多相关文章
- js 和 jquery 获取页面和滚动条的高度 视口高度文档高度
js 和 jquery 获取页面和滚动条的高度 //页面位置及窗口大小 function GetPageSize() { var scrW, scrH; if(window.innerHeight & ...
- js解析xml,获取XMl标签属性值
<script type="text/javascript"> var xml="<?xml version=\"1.0\" enc ...
- OAF 获取页面路径
--模糊查询某个页面 SELECT * FROM JDR_PATHS jp WHERE JP.PATH_NAME LIKE '%XXXX%'; --精确的查找过程 -- DocID --参数通过关于此 ...
- js或jsp 获取项目路径常用方法
可以引入一个jsp,这个jsp的内容如下: <%@page pageEncoding="UTF-8" contentType="text/javascript; c ...
- js解析网址获取需要的数据
/** * 获取地址栏内容,返回pathnamearrneed对象 * @param {Object} len 从第几位开始获取你需要的值 */ function myLocationId(len) ...
- JS与JQ 获取页面元素值的方法和差异对比
获取浏览器高度和宽度 document.documentElement.clientWidth ==> 浏览器可见区域宽度 document.documentElement.clientHeig ...
- js获取页面名称和路径参数
// 取当前页面名称(不带后缀名)function getPageName1(){ var a = location.href; var b = a.split("/" ...
- jsp获取绝对路径
在JavaWeb开发中,常使用绝对路径的方式引入javaScript和CSS文件,这样可以避免因为目录变动导致引入文件找不到的情况,常用的做法是: 一.使用${pageContext.request. ...
- freemarker页面如何获取绝对路径basePath
1. freemarker获取系统相对路径方式 spring-mvc.xml 中配置 <!-- FreeMarker视图解析 如返回userinfo..在这里配置后缀名ftl和视图解析器.. - ...
随机推荐
- 数据恢复-extundelete
http://extundelete.sourceforge.net/options.html 误删除/usr/share目录因此考虑恢复目录过程如下:1.选用extundelete软件来进行恢复,源 ...
- OpenJudge计算概论-分配病房
/*===================================== 分配病房 总时间限制: 1000ms 内存限制: 65536kB 描述 某个科室的病房分为重症和普通,只有当病人的疾病严 ...
- docker nodejs 基本应用
1. 安装docker 环境 2. nodejs 应用布局 package.json { "name": "docker-centos-hello", &qu ...
- ES6 中的 Set、Map 和 WeakMap
Set 是 ES6 新增的有序列表集合,它不会包含重复项. Set 支持 add(item) 方法,用来向 Set 添加任意类型的元素,如果已经添加过则自动忽略: has(item) 方法用来检测 S ...
- generator函数
function* helloWordGenerator() { yield "hello"; yield "world"; return "endi ...
- 使用RMAN从磁带库恢复归档文件
最近用RMAN对部分归档日志进行了恢复,在此记录恢复过程 由于不能透漏数据库信息,故举例如下: ORACLE_SID=hrdb 恢复目标路径:/NewRmanbak/restore_archive ...
- android 组合控件接收不到点击事件的问题
android点击事件的传播是有子控件传给父控件,如果子控件处理过了,父控件不再处理,所以要想让组合控件接收点击事件,必须屏蔽子控件的点击事件. 设置组合控件的clickable和focusable属 ...
- Neutron GRE模式要注意的问题
GRE模式下,如果MTU和Offloading配置不当,会严重降低网络性能(https://ask.openstack.org/en/question/6140/quantum-neutron-gre ...
- 那些年我们追过的C#奇葩关键字——忐忑[转载]
原文地址:http://www.cnblogs.com/WeiGe/p/3315807.html 免责申明:本文为转载,如果伤及原作者利益,请与本博主邮箱313887852@qq.com联系并注明事宜 ...
- POJ #2479 - Maximum sum
Hi, I'm back. This is a realy classic DP problem to code. 1. You have to be crystal clear about what ...