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和视图解析器.. - ...
随机推荐
- 014. asp.net实现记住密码的功能
protected void Button1_Click(object sender, EventArgs e) { if (txtname.Text.Trim().Equals("mr&q ...
- shell之变量与read
环境变量 set 环境变量可供shell以外的程序使用 shell变量 env shell变量仅供shell内部使用 set:显示(设置)shell变量 包括的私有变量以及用户变量,不同类的shell ...
- C# Redis实战(二) [转]
二.Redis服务 在C# Redis实战(一)中我将所有文件拷贝到了D盘redis文件夹下,其中redis-server.exe即为其服务端程序,双击即开始运行,如图 ...
- mysql中一对一,一对多,多对多关系
打个比方吧一个班级有很多学生,他们分别有不同的学号.一个学生对应一个学号,一个学号对应一个学生:这里学生和学号的关系就是一对一.一个班级有很多学生,这个班级只有一个班主任.一个班主任对应多个学生,多个 ...
- 面向对象设计模式--策略模式Strategy
策略模式的UML类图(VS2013 C++版本): 策略模式的重点:每个策略对象封装一个算法,有多少个算法就有多少个对象.策略模式的意图是封装算法.要从“抽象不仅面对状态(字段.属性)还面对行为(算法 ...
- LintCode "Backpack"
A simple variation to 0-1 Knapsack. class Solution { public: /** * @param m: An integer m denotes th ...
- 剑指offer系列21--二叉搜索树的后续遍历序列
* 21[题目]输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果. * 如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. * [注]二叉搜索树特点:左子树比根结 ...
- 一个自己做的easyui datagird扩展
var a; $(function () { $("body").bind("contextmenu", function () { return false; ...
- MSSQL 随机查询且降序排列
--随机查询且降序排列 * FROM dbo.COMPANY_USER_INFO ORDER BY NEWID()) AS T ORDER BY T.cu_id DESC
- SQL Server 中LEN函数的问题
LEN('T ') =1 LEN(' T') =2 在数据库中分解字符串时要注意,例如以'^'分隔'X ^ T ',分解时要注意最后的'T '被分解成'T' 可用如下的代码来进行完整的分解 SET A ...