1. 前端使用js如何准确获取当前页面url网址信息
在WEB开发中,时常会用到javascript来获取当前页面的url网址信息,在这里是我的一些获取url信息的小总结。
下面我们举例一个URL,然后获得它的各个组成部分:http://i.cnblogs.com/EditPosts.aspx?opt=1
1、window.location.href(设置或获取整个 URL 为字符串)
var test = window.location.href;
alert(test);
返回:http://i.cnblogs.com/EditPosts.aspx?opt=1
2、window.location.protocol(设置或获取 URL 的协议部分)
var test = window.location.protocol;
alert(test);
返回:http:
3、window.location.host(设置或获取 URL 的主机部分)
var test = window.location.host;
alert(test);
返回:i.cnblogs.com
4、window.location.port(设置或获取与 URL 关联的端口号码)
var test = window.location.port;
alert(test);
返回:空字符(如果采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符)
5、window.location.pathname(设置或获取与 URL 的路径部分(就是文件地址))
var test = window.location.pathname;
alert(test);
返回:/EditPosts.aspx
6、window.location.search(设置或获取 href 属性中跟在问号后面的部分)
var test = window.location.search;
alert(test);
返回:?opt=1
PS:获得查询(参数)部分,除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值。
7、window.location.hash(设置或获取 href 属性中在井号“#”后面的分段)
var test = window.location.hash;
alert(test);
返回:空字符(因为url中没有)
8、js获取url中的参数值
一、正则法
function getQueryString(name) { var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); var r = window.location.search.substr(1).match(reg); if (r != null) { return unescape(r[2]); } return null;}// 这样调用:alert(GetQueryString("参数名1")); alert(GetQueryString("参数名2")); alert(GetQueryString("参数名3"));
二、split拆分法
function GetRequest() {
var url = location.search; //获取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
}
}
return theRequest;
}
var Request = new Object();
Request = GetRequest();<br>// var id=Request["id"];
// var 参数1,参数2,参数3,参数N;
// 参数1 = Request['参数1'];
// 参数2 = Request['参数2'];
// 参数3 = Request['参数3'];
// 参数N = Request['参数N'];
三、指定取
比如说一个url:http://i.cnblogs.com/?j=js,我们想得到参数j的值,可以通过以下函数调用。
function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg); //获取url中"?"符后的字符串并正则匹配
var context = "";
if (r != null)
context = r[2];
reg = null;
r = null;
return context == null || context == "" || context == "undefined" ? "" : context;
}
alert(GetQueryString("j"));
四、单个参数的获取方法
function GetRequest() {
var url = location.search; //获取url中"?"符后的字串
if (url.indexOf("?") != -1) { //判断是否有参数
var str = url.substr(1); //从第一个字符开始 因为第0个是?号 获取所有除问号的所有符串
strs = str.split("="); //用等号进行分隔 (因为知道只有一个参数 所以直接用等号进分隔 如果有多个参数 要用&号分隔 再用等号进行分隔)
alert(strs[1]); //直接弹出第一个参数 (如果有多个参数 还要进行循环的)
}
}
一、正则法
functiongetQueryString(name) {
varreg = newRegExp('(^|&)'+ name + '=([^&]*)(&|$)', 'i');
varr = window.location.search.substr(1).match(reg);
if(r != null) {
returnunescape(r[2]);
}
returnnull;
}
// 这样调用:
alert(GetQueryString("参数名1"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));
二、split拆分法
functionGetRequest() {
varurl = location.search; //获取url中"?"符后的字串
vartheRequest = newObject();
if(url.indexOf("?") != -1) {
varstr = url.substr(1);
strs = str.split("&");
for(vari = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
}
}
returntheRequest;
}
varRequest = newObject();
Request = GetRequest();<br>// var id=Request["id"];
// var 参数1,参数2,参数3,参数N;
// 参数1 = Request['参数1'];
// 参数2 = Request['参数2'];
// 参数3 = Request['参数3'];
// 参数N = Request['参数N'];
三、指定取
比如说一个url:http://i.cnblogs.com/?j=js,我们想得到参数j的值,可以通过以下函数调用。
functionGetQueryString(name) {
varreg = newRegExp("(^|&)"+ name + "=([^&]*)(&|$)", "i");
varr = window.location.search.substr(1).match(reg); //获取url中"?"符后的字符串并正则匹配
varcontext = "";
if(r != null)
context = r[2];
reg = null;
r = null;
returncontext == null|| context == ""|| context == "undefined"? "": context;
}
alert(GetQueryString("j"));
四、单个参数的获取方法
functionGetRequest() {
varurl = location.search; //获取url中"?"符后的字串
if(url.indexOf("?") != -1) { //判断是否有参数
varstr = url.substr(1); //从第一个字符开始 因为第0个是?号 获取所有除问号的所有符串
strs = str.split("="); //用等号进行分隔 (因为知道只有一个参数 所以直接用等号进分隔 如果有多个参数 要用&号分隔 再用等号进行分隔)
alert(strs[1]); //直接弹出第一个参数 (如果有多个参数 还要进行循环的)
}
}
2. Web前端中关于url、href、src的知识汇总
今天小编要跟大家分享的文章是Web前端中关于url、href、src的知识汇总。熟悉web前端的小伙伴们一定不会对这三个内容陌生。但是对于刚刚接触web的小伙伴肯定不是很了解,今天小编就败漏租为大家准备了这篇文章让我们一起来看一看关于url、href、src的知识汇总。
一、URL的概念
统一资源定位符(或称统一资源定位器/定位地址、URL地址等,英语:UniformResource
Locator,常缩写为URL),有时也被俗称为网页地址(网址)。如同在网络上的门牌,是因特网上标准的资源的地址(Address)。
二、URL的格式
2.1标准格式
协议类型:[//服务器地址[:端口号]][/资源层级UNIX文件路径]文件名?查询
2.2完整格式
协议类型:[//[访问资源需要的凭证信息@]服务器地址[:端口号]][/资源层级UNIX文件路径]文件名?查询
其中【访问凭证信息@;:端口号;?查询;#片段ID】都属于选填项。
三、URL的语法规则
比如网址#/html/index.asp,必须遵守以下的语法规则:
scheme://host.domain:port/path/filename
3.1说明
(1)scheme-定义因特网服务的类型。最常见的类型是http(2)host-定义域主机(http的默认主机是www)
(3)domain-定义因特网域名,比如w3school.com.cn(4):port-定义主机上的端口号(http的默认端口号是80)
(5)path-定义服务器上的路径(如果省略,则文档必须位于网站的根目录中)。(6)filename-定义文档/资源的名称
3.2URLSchemes
以下是其中一些最流行的scheme:
Scheme访问用于...
http超文本传输协议以http://开头的普通网页。不加密。
https安全超文本传输协议安全网页。加密所有信息交换。
ftp文件传输协议用于将文件下载或上传至网站。
file您计算机上的文件。
四、URL的类型
4.1绝对URL
绝对URL(absoluteURL)显示文件的完整路径,这意味着绝对URL本身所在的位置与被引用的实际文件的位置无关。
4.2相对URL
相对URL(relativeURL)以包含URL本身的文件夹的位置为参考点,描述目标文件夹的位置。
一般来说,对于同一服务器上的文件,应该总是使用相对URL,它们更容易输入,而且在将页面从本地系统转移到服务器上时更方便,只要每个文件的相对位置保持不变,链接就仍然是有效地。
以下为建立路径所使用的几个特殊符号,及其所代表的意义。
(1).:代表目前所在的目录,相对路径。如:文本或
(2)..:代表上一层目录,相对路径。如:文本或
(3)../../:代表的是上一层目录的上一层目录,相对路径。如:
(4)/:代表根目录,绝对路径。如:[文本](/abc)或
五、href的概念
5.1规范解释
href(Hypertext
Reference)指定网络资源的位置,从而在当前元素或者当前文档和由当前属性定义的需要的锚点或资源之间定义一个链接或者关系。
5.2通俗理解
href目的不是为了引用资源,而是为了建立联系,让当前标签能够链接到目标地址。
六、src的概念
source(缩写),指向外部资源的位置,指向的内容将会应用到文档中当前标签所在位置。
七、href和src的区别
7.1请求资源类型不同
(1)href指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的联系。
(2)在请求src资源时会将其指向的资源下载并应用到文档中,比如JavaScript脚本,img图片;
7.2作用结果不同
(1)href用于在当前文档和引用察兆资源之间确立联系;
(2)src用于替换当前内容;
7.3浏览器解析方式不同
(1)若在文档中添加,浏览器会识别该文档为CSS文件,就会并行下载资源并且不会停止对当前文档的处理。这也是为什么建议使用link方式加载
CSS,而不是使用@import方式。
(2)当浏览器解析到
,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等也如此,类似于将所指向资源应用到当前内容。这也是为什么建议把js
脚本放在底部而不是头部的原因。
八、link和@import的区别
两者都是外部引用CSS的方式,但是存在一定的搜州区别:
(1)link是XHTML标签,除了能够加载CSS,还可以定义RSS等其他事务;而@import属于CSS范畴,只可以加载CSS。
(2)link引用CSS时,在页面载入时同时加载;@import需要页面完全载入以后再加载。
(3)link是XHTML标签,无兼容问题;@import则是在CSS2.1提出的,低版本的浏览器不支持。
(4)link支持使用Javascript控制DOM改变样式;而@import不支持。
以上就是小编今天为大家分享的关于Web前端中关于url、href、src的知识汇总的文章,希望本篇文章能够对正在从事web学习和工作的小伙伴们有所帮助,想要了解更多web相关知识记得关注北大青鸟web培训官网哦~
作者:WEBING
#/a/1190000013845173
*声明:内容与图片均来源于网络(部分内容有修改),版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。
3. 怎么通过url找到web项目中的资源文件
url="D:/STUDY/js/images/1.gif" //绝对路径(知道具体路径)
src="../images" //相对路径
../表示源文件所在目录的上一级目录,../../表示源文件所在目录的上上级目录
如果你的文件和Tomcat是同一级,src="Tomcat/WebRoot/images"
如果你的文件在Tomcat下来访问images文件夹,则src="../Tomcat/WebRoot/images"