<!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>
分享到:
相关推荐
JavaScript获取浏览器参数方法解析 在给定的部分代码中,定义了一个名为`getQuery`的方法,该方法被附加到了`String`原型上,使得所有的字符串对象都具有了获取查询参数的能力。 ##### 2.1 方法定义 ```...
这篇博文“JS 获取浏览器参数”可能探讨了如何利用JavaScript来收集关于用户浏览器的信息,包括但不限于浏览器类型、版本、操作系统、屏幕分辨率等。 首先,我们可以使用`navigator`对象来获取浏览器的基本信息。`...
对于想要获取URL参数信息的开发者,可以将查询字符串(即`location.search`的值,不包括问号)与`URLSearchParams`对象一起使用,该对象提供了方便的方法来处理URL中的查询字符串。例如: ```javascript let ...
2. URL解析:使用`window.location`对象获取当前URL,然后通过`URLSearchParams` API解析查询参数。 3. XSS防护:学习和应用XSS过滤策略,例如使用`encodeURIComponent`函数对用户输入进行编码,防止注入攻击。 4....
本文将深入探讨如何使用JavaScript来支持多参数、多语言,并读取XML信息,以及如何实现一个统一的接口来提高代码的复用性和兼容性。 首先,让我们了解XML的基本概念。XML是一种用于存储和传输结构化数据的标记语言...
根据提供的标题“JAVASCRIPT完全解析”及描述“JAVASCRIPT完全解析,不错的PDF”,我们可以推断出这份文档是一本关于JavaScript编程语言的详细教程。JavaScript是一种广泛使用的脚本语言,在前端开发、后端开发乃至...
在JavaScript中,实现浏览器窗口之间的参数传递主要涉及两种方法:`window.open()` 和 `window.showModalDialog()`。这里我们将详细探讨这两种方法,并结合给出的代码示例进行解析。 首先,我们来看`window.open()`...
### JavaScript 解决 `innerText` 浏览器兼容性问题 #### 背景介绍 在 Web 开发过程中,经常会遇到需要获取或修改 HTML 元素内部文本的需求。JavaScript 提供了多种方法来实现这一功能,其中较为常用的是 `...
根据提供的文件信息,我们将详细解析关于JavaScript解析执行顺序在不同浏览器中的差异以及实验设计的相关知识点。 首先,标题中提到的“解析执行顺序”指的是JavaScript代码在浏览器中是如何被解析和执行的。由于...
JavaScript是一种广泛应用于Web开发的脚本语言,它在浏览器端运行,为网页提供动态交互功能。XML(Extensible Markup Language)则是一种数据交换格式,常用于传输和存储结构化数据。将XML数据与JavaScript结合,...
### JavaScript 获取URL参数和去除字符串前后空格的方法 在日常的Web开发中,经常会遇到需要获取URL中的参数或处理字符串的情况。例如,在用户点击某个链接或者表单提交后,我们可能需要从URL中提取出某些特定的...
9. **URL处理**:浏览器需要解析和理解URL,包括处理协议、主机名、路径、查询参数等。可以使用标准库中的`std::string`和`std::regex`进行解析。 10. **历史记录和书签**:为了方便用户,浏览器需要保存访问过的...
29、原生JavaScript整型解析为IP地址 30、原生JavaScript实现checkbox全选与全不选 31、原生JavaScript判断是否移动设备 32、原生JavaScript判断是否移动设备访问 33、原生JavaScript判断是否苹果移动设备访问 34、...
4. URL处理:浏览器需要理解和解析URL,包括协议(HTTP、HTTPS等)、主机名、端口、路径和查询参数。Java的java.net.URL类提供了这些功能。 5. HTTP/HTTPS通信:Java浏览器需要支持HTTP和HTTPS协议来与服务器交互,...
JavaScript解析器是浏览器中的核心组件之一,主要负责处理和执行JavaScript代码。在HTML文件加载过程中,只有遇到`<script>`标签时,JavaScript解析器才会开始工作。以下是它的工作原理的详细说明: 1. **预解析...
在浏览器中,AJAX(Asynchronous JavaScript and XML)技术用于实现异步数据通信,使得网页无需刷新即可与服务器交换数据并更新部分网页内容。AJAX缓存机制是浏览器为了提高性能和减少网络带宽消耗而设计的一种策略...
在JavaScript中,我们可以使用`window.location`对象来访问当前页面的URL信息。`window.location.search`属性返回URL的查询字符串,不包括问号。例如,对于URL ...
构建呈现树的过程中,浏览器会进行样式计算,确定布局所需的各项参数,如尺寸、位置等。布局处理包括全局布局和增量布局,以及宽度计算和换行等。布局完成后,浏览器会将呈现树转化为可视化的图形输出。 6. 绘制 ...