文档章节

JS URL Parser

letjs_in
 letjs_in
发布于 2011/06/27 16:49
字数 144
阅读 2298
收藏 3

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

/**
*@param {string} url 完整的URL地址
*@returns {object} 自定义的对象

*@description 用法示例:var myURL = parseURL('http://abc.com:8080/dir/index.html?id=255&m=hello#top');

myURL.file='index.html'

myURL.hash= 'top'

myURL.host= 'abc.com'

myURL.query= '?id=255&m=hello'

myURL.params= Object = { id: 255, m: hello }

myURL.path= '/dir/index.html'

myURL.segments= Array = ['dir', 'index.html']

myURL.port= '8080'

yURL.protocol= 'http'

myURL.source= 'http://abc.com:8080/dir/index.html?id=255&m=hello#top'

*/
function parseURL(url) {
var a =  document.createElement('a');
a.href = url;
return {
source: url,
protocol: a.protocol.replace(':',''),
host: a.hostname,
port: a.port,
query: a.search,
params: (function(){
   var ret = {},
       seg = a.search.replace(/^\?/,'').split('&'),
       len = seg.length, i = 0, s;
   for (;i<len;i++) {
       if (!seg[i]) { continue; }
       s = seg[i].split('=');
       ret[s[0]] = s[1];
   }
   return ret;
})(),
file: (a.pathname.match(/\/([^\/?#]+)$/i) || [,''])[1],
hash: a.hash.replace('#',''),
path: a.pathname.replace(/^([^\/])/,'/$1'),
relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [,''])[1],
segments: a.pathname.replace(/^\//,'').split('/')
};
}

本文转载自:

letjs_in
粉丝 6
博文 17
码字总数 973
作品 0
深圳
程序员
私信 提问
href中有javascript代码该如何分析?

请问在 的结果里包含javascript的代码,比如:javascript:pg.toPage(2); 如果我想得到里面的数字2该如何做? 我通过如下代码实现: 发现没有效果,就是拿不到里面的数字。...

minusmm
2014/12/09
903
2
Thymeleaf 3.0.8 发布,HTML 5 模板引擎

Thymeleaf 3.0.8 发布了,Thymeleaf是一个XML/XHTML/HTML5模板引擎,可用于Web与非Web环境中的应用开发。它是一个开源的Java库,基于Apache License 2.0许可,由Daniel Fernández创建。本次...

淡漠悠然
2017/10/03
643
2
JSON传送与接收(java)

在 JSON 中我们已经介绍过其基本格式,与XML相同,JSON只是一个文字格式,只要客户端与伺服端可以剖析它,就可以利用它作为传送数据的格式,但它是JavaScript的核心特性之一,所以在JavaScr...

giraffe_zj
2008/11/20
0
0
Safari浏览器bug可引发XSS

     研究人员发现一个Safari浏览器的bug,利用该bug可以绕过浏览器的过滤器,并进行XSS。之前也有研究人员发现过该漏洞,因此漏洞并不是第一次出现。   先看一个研究人员偶然发现脚本...

嘶吼RoarTalk
2018/10/24
0
0
如何优雅地查看 JS 错误堆栈?

本文由云+社区发表 在前端,我们经常会通过 事件来捕获未处理的异常。假设捕获了一个异常,上报的堆栈是这个: 这个堆栈,你看得出问题来吗?我们发布到 CDN 的脚本文件,普遍是经过 Uglify...

腾讯云加社区
01/15
635
0

没有更多内容

加载失败,请刷新页面

加载更多

web前端入门到实战:图解原生dialog标签(非常详细)

在html5中,新增了很多语义化的标签。如footer、header之类的,今天的主角是dialog标签 顾名思义,就是用来定义对话框的。目前只有Chrome和Safari支持该标签,所以用的不多,不过确实挺好用的...

梦想编程
17分钟前
2
0
一些php常用函数积累

本文链接<?php// id: ecffe70d3af54df9bad97b61918ace7d global $ct_path, $ct_log_path;$log_path = "test_php.txt";// 是否先log到buffer,再通过CT_flush()一次性写入文件$......

一字见心
18分钟前
2
0
IntelliJ idea中 注释代码折叠

visual studio中有#region 可以折叠代码,IntelliJ idea 中也有类似功能 //region 描述代码//endregion

format
18分钟前
4
0
oracle表中更改主键

一、数据表有主键但无主键约束名 先删除之前的主键,后添加主键 ,执行SQL: a. alter table 表名 drop primary key; b. alter table 表名 add primary key(想要更改的字段名称); 二、数据表...

_Somuns
20分钟前
2
0
jQuery AJAX提交表单

我有一个名称为orderproductForm的表单,输入的数量不确定。 我想做某种jQuery.get或ajax或类似的事情,它将通过Ajax调用页面,并发送所有形式为orderproductForm的输入。 我想一种方法是做类...

技术盛宴
26分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部