<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script type="text/javascript">
<!--
window.onload = function(){
var myURL = parseUrl('http://abc.com:8080/dir/index.html?id=255&m=hello#top');
//alert(myURL.file); // = 'index.html'
//alert(myURL.host); // = 'abc.com'
myURL.search; // = '?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'
myURL.protocol; // = 'http'
myURL.source; // = 'http://abc.com:8080/dir/index.html?id=255&m=hello#top'
var file = _$("file");
file.innerHTML = myURL.file;
var host = _$("host");
host.innerHTML = myURL.host;
var port = _$("port");
port.innerHTML = myURL.port;
var source = _$("source");
source.innerHTML = myURL.source;
var search = _$("search");
search.innerHTML = myURL.search;
var params = _$("params");
params.innerHTML = objToString(myURL.params);
var path = _$("path");
path.innerHTML = myURL.path;
alert(objectToString(myURL))
}
function _$(id){
return document.getElementById(id);
}
function parseUrl(url){
var a = document.createElement("a");
a.href = url;
return {
//源连接地址
source:url,
//协议
protocol:a.protocol.replace(":",""),
host: a.host,
//端口
port: a.port,
file: (a.pathname.match(/\/([^\/?#]+)$/i) || [,''])[1],
//查询字符串
search: 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('/')
};
}
function objToString (obj) {
var str = '', a = [], t;
for (var p in obj) {
if (obj.hasOwnProperty(p)) {
str += p + ':' + obj[p] + ',';
}
}
return str;
}
//-->
</script>
</head>
<body>
<div>
<p>javascript 解析浏览器路径参数</p>
<h4>原来的url:'http://abc.com:8080/dir/index.html?id=255&m=hello#top'</h4>
<h4>解析后</h4>
<p>
<div>file:<span id="file"><span></div>
<div>host:<span id="host"></span></div>
<div>search:<span id="search"></span></div>
<div>params:<span id="params"></span></div>
<div>path:<span id="path"></span></div>
<div>port:<span id="port"></span></div>
<div>protocol:<span id="protocol"></span></div>
<div>source:<span id="source"></span></div>
</p>
<div>
</body>
</html>
分享到:
相关推荐
浏览器在读取HTML文件的时候,只有当遇到[removed]标签的时候,才会唤醒所谓的“JavaScript解析器”开始工作。 JavaScript解析器工作步骤: 1、“找一些东西”: var、 function、 参数;(也被称之为预解析) 备注:...
29、原生JavaScript整型解析为IP地址 30、原生JavaScript实现checkbox全选与全不选 31、原生JavaScript判断是否移动设备 32、原生JavaScript判断是否移动设备访问 33、原生JavaScript判断是否苹果移动设备访问 34、...
确定JavaScript代码在什么浏览器中运行,并且获取有关客户端环境的其他信息。 在浏览器窗口的状态栏显示任意的文本。 处理在一个窗口中发生的未捕获的JavaScript错误。 编写和多个窗口或帧交互的JavaScript代码...
本文实例讲述了javascript解析ajax返回的xml和json格式数据。分享给大家供大家参考,具体如下: 写个例子,以备后用 一、JavaScript 解析返回的xml格式的数据: 1、javascript版本的ajax发送请求 (1)、创建...
第2章 浏览器中的JavaScript 2.1 嵌入网页的可执行内容 2.2 赏心悦目的特效 2.3 使用JavaScript来与用户交互 2.4 绕开脚本陷阱 2.5 总结 第3章 开发环境和调试方法 3.1 我能用什么来编写脚本--...
本人,以前也遇到各浏览器XML的兼容问题,然后改用Json解决了兼容问题,今天突然间有一个想法又重拾XML,终于完美解决
3) 脚本执行过程是Web浏览器的HTML解析过程的一部分。脚本按照它们的出现顺序执行。 4) 简单的对话框可用:alert()、 confirm()、 prompt()之一。 5) 时间间隔方法为: setInterval()、 cleraInterval() 。 ...
JavaScript自动判断浏览器分辨率代码解析 本文将对JavaScript自动判断浏览器分辨率的代码进行详细解析,讨论其实现原理、优缺点和实际应用场景。 一、代码结构解析 查看提供的代码,我们可以看到它主要由两个函数...
软X路径SoftXPath是一个小型的跨浏览器 JavaScript 库,用于使用强大的Xpath表达式在客户端解析复杂的 XML 文档。 专注于构建有效的 Xpath 表达式,而不是在浏览器兼容性问题上浪费时间。支持的浏览器:SoftXPath ...
JavaScript 笔试题解析 JavaScript 是一种广泛应用于 Web 开发的编程语言,以下是对 JavaScript 笔试题的解析和解释: 1. 谈一谈你对 JavaScript 的理解,JavaScript 能做什么? JavaScript 是一种客户端脚本语言...
在获取URL参数时,我们使用了JavaScript的location.href对象,该对象可以获取浏览器地址栏的URL串。然后,我们使用QueryString()函数将URL参数解析成一个对象,然后使用该对象获取参数值。 静态URL传递可以使用...
解析器 口译员 lisp.js包含解释器对象,例如LISP.Number , LISP.nil或LISP.Continuation 。 口译员的特点 闭包 参数长度可变的lambda lambda,let和define(lambda-short-syntax)可以包含多个主体 与环境配合使用...
检索信息需要将存储中的字符串解析为正确的数据类型。 当您存储数据时,Argon会为每种本机javascript数据类型添加类型提示。 在检索过程中使用类型提示来自动以其本机格式返回数据。 这甚至适用于功能。安装克隆...
相比之下,大多数其他JS颜色解析器都无法解析浏览器将接受的颜色值,而无法解析浏览器将忽略的虚假值。 我还为CSS颜色解析器创建了一个广泛的,其中包括许多其他解析器当前无法使用的边缘情况。 该库不包含任何颜色...
我们都知道,高级浏览器可以用 JSON.parse() API 将一个 JSON 字符串解析成 JSON 数据,稍微欠妥点的做法,我们可以用 eval() 函数。 var str = '{"name": "hanzichi", "age": 10}'; var obj = eval('...
Kalendae是一个轻量级的时间日期选择JavaScript插件,这是一个独立的插件,不依赖任何第三方插件库,使用简单方便,完美支持日期的年月日选择。 特点 独立插件,不依赖第三方插件,比如jQuery、Prototype、Mootools...
您应该使用 pcap-file 作为参数启动它,引导浏览器将服务器用作 http 代理并在此浏览器中启动“主”请求。 另外你可以给proxy常用的字体,css,javascript,浏览器经常缓存,所以它可能会响应数据,由于缓存而不...
因此解决了浏览器,创建文件队象的差异性,IE使用ActiveOBject,非IE使用XMLHttpRequest,但是此时非IE文件队象在操作对象时候即便是支持file协议,但是onreadystatechenge方法中的一些请求方法与相应状态码是HTTP...
2、脚本解释引擎 - 解析Javascript 2、搭建JS运行环境(重点) 1、独立安装的JS解释器 - NodeJS console.log("Hello World"); console.log('Hello World'); 2、使用浏览器中的内核(JS解释引擎) 1、在浏览器的...
需要注意的是,在textarea控件中显示html页面的javascript代码需要考虑到浏览器的兼容性问题、安全性问题、编辑功能等问题。 在textarea中显示html页面的javascript代码可以使用多种方法,但是需要根据实际情况选择...