在WEB开发中,时常会用到javascript来获取当前页面的url网址信息,在这里是我的一些获取url信息的小总结。 下面我们举例一个URL,然后获得它的各个组成部分:http://i.cnblogs.com/EditPosts.aspx?opt=11、window.location.href(设置或获取整个 URL 为字符串)var test = window.location.href alert(test) 返回:http://i.cnblogs.com/EditPosts.aspx?opt=12、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.com4、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.aspx6、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 = 0i <strs.lengthi ++) { 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 = 0i <strs.lengthi ++) { 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]) //直接弹出第一个参数 (如果有多个参数 还要进行循环的) } }抓取动态页面有两种常用的方法,一是通过JavaScript逆向工程获取动态数据接口(真实的访问路径),另一种是利用selenium库模拟真实浏览器,获取JavaScript渲染后的内容。但selenium库用起来比较繁琐,抓取速度相对较慢,所以第一种方法日常使用较多。
前端使用js如何准确获取当前页面url网址信息
给您推荐相同类型的内容:
go语言现在很重要么??
Go作为Google2009年推出的语言,其被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。 对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支android如何使用python脚本
Android平台吸引众多Linux社区用户的原因是,Android基于广泛的开源,即使甲骨文公司对此作出了诉讼。在基于Android平台的手机上开发软件,依然首选Java。谷歌提供的软件开发工具(SDK)不但包括了所需的文档与库,还提供了js实现html简单访问量统计功能代码
这个现在好像没什么办法吧,一般都是在后台统计,因为每次打开网页都是一个新的页面,js是重新调用的,建议你在后台跳转到网页时,将那个方法设置一个统计参数,每次打开那个方法都会累计,或者创建一个数据库,在过滤器里面每次调用链接的时候在数据库upjs 常见的Object方法
Object.entries(obj)将一个可枚举对象按照键值对展开为数组Object.assign(target, source)将一个或多个可枚举对象的可枚举属性复制到 target 对象,返回 targetCSS(css reset)重置到底要怎么写?
(文章来源于:玉溪无痛人流因为各种浏览器的算法不一样,从而导致CSS在不同的浏览器中存在一部分不一样的效果,CSS重置就是写一段初始化CSS将这些浏览器不同的初始化设置指定同一种显示效果。使用了CSS重置以后,各不同浏览器的初始化设置将一致八皇后问题的C语言代码
#include <math.h>#include <stdio.h>#define MAX 8 * 棋子数及棋盘大小MAXxMAX *int board[MAX]* 印出结果 *vo为什么java内要判断两个对象是否相等呢?
一个标准的实体类的4大基本规则:1.封装(属性私有化,分别提供对应的get与set方法等),2、提供无参构造,3、重写:toString,equals,hashCode这3个方法,4、实现java.io.Serializable接口。所以j用电脑制图都能使用哪些软件?
作图软件分为两类:平面设计制图、立体设计制图。平面的一般有:Adobe Photoshop,CorelDRAW,CAD。立体的一般有:UG,TYPE3,3D MAX。x0dx0a1、Adobe Photoshop:photoshop作为单模单纤收发器,单模双纤光纤收发器是什么意思呀?什么区别呀?
1、使用的光纤数量不同:单光纤收发器:通过单光纤接收和传输数据。顾名思义,单光纤设备可以节省光纤的一半,即在单光纤中实现数据的接收和传输,在光纤资源中是非常适合的地方。但是,由于单光纤收发器产品没有统一的国际标准,不同厂家的产品在互连时可能老师上网课用什么平板电脑好
如下:1、华硕平板电脑Asus Transformer Book T300 Chi华硕的Transformer系列平板电脑的功能更像是笔记本电脑和平板电脑的混合体,直到现在,Transformer系列还只是中等水平。但是华硕最新的变形金64位的win10怎么用visual studio编写C语言程序
工具原料:visual studio 20101.双击打开Vs 20102.找到左上角的新建项目并点击打开,选择win32控制台程序,给文件命名,如123,单击确定3.点击下一步,注意,此时出现的对话框一定要把空项目前面给勾上,单击下如何使用css设置文字在网页中显示居中?
1、打开编辑器,新建test.html,用于学习今天的内容。2、接下来需要在head标签下方引入jquery.min.js插件,如下图所示。3、在页面的body标签里,新建一个div,名称为test。4、在body标签下方写上<golang ide 什么好用
第一种:LiteIDELiteIDE是一个简单的开源IDE,值得注意的是,它是GO语言2012年正式版发布的首个IDE,由Qt开发,它看起来类似于Visual Studio等其他编译器。由于它是为golang设计的,LiteIDE为开发人员R语言绘图包06--基因表达相关性绘图corrplot
R语言绘图包系列: 参数 参考:https:cran.r-project.orgwebpackagescorrplotvignettescorrplot-intro.html https:mp.weixin.qq.小米RUBYi5-8250U 8G 2G独显笔记本电脑能玩吃鸡吗
通常来说,涉及到具体某个游戏还是建议先参考游戏官网提供的信息。因为不同游戏对硬件和软件的要求是不同的,如显卡,CPU,内存,操作系统等。在对应游戏的官网中,都会有关运行游戏的推荐配置,可以和列出的相关配置进行对比,确认个人电脑的配置是否符合电脑屏幕太大怎么缩小
要调整电脑的屏幕大小,可以通过显示器的分辨率来调整。右击桌面选择显示设置右键点击桌面,选择右键菜单上的显示设置。点击分辨率下拉框点击窗口右边的分辨率下拉框。选择分辨率点击选择一个分辨率即可调整屏幕的大小了。mac电脑点击显示器选项点击系统偏node.js是什么
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 IO 的模型。Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScr如何查看电脑ip地址
利用电脑控制面板的“网络和共享中心”,找到“查看网络活动”项下的右侧“连接”一栏,点开查看详情就可以查看了。具体操作方法如下:1、打开电脑桌面,找到并点击左下角的开始菜单,选择进入“控制面板”。2、接着在控制面板中,找到并点击进入“网络和WEB移动端开发使用什么框架比较好?
很久以前整理了篇将手机网站做成手机应用的JS框架。时隔一年多,很多新的技术已经出现,下面再来总结下还有哪些框架是适合面向手机设备的开发的。1、jQuery MobilejQuery Mobile 是 jQuery 在手机上和平板设备上的版本有人学过GO语言么?和C++比、优缺点在那?
C++适合本地程序的开发。Go语言适合网络程序和本地程序的开发。Go的优点:垃圾回收,语意明确,格式统一。 Go的缺点:效率目前没有C++高,但对于桌面程序而言,效率问题不大,因为硬件已经很快了。c++过于复杂了,加入很多炫技的内容。这些内电脑截屏的三种方法
电脑截屏的三种方法如下所示:方法1、第一种截图方法是电脑系统自带的。在键盘上找到"PrtSc",按下"PrtSc"。然后在"画图"中,点击鼠标右键,点击"粘贴"电脑显示屏横竖屏怎么切换
您可以直接在电脑上使用【Ctrl】+【Alt】+方向键的上或者下快捷键进行调节。也可以在桌面空白处右键选择【图形】-【旋转】选项完成调节。您还可以在右键打开的菜单中选择【属性】-【高级】-【旋转】中调整旋转的角度。1、使用快捷键的方式,【Cjs中怎么获取json中的key,value值?
1、首先,需要创建一个Json文件。或者是用户自行从网络上获得Json文件。2、如果用户是创建的。还需要在新建的Json文件中输入数据。3、准备好Json数据文件以后,接着创建一个Html文件。在<script>标签java 里面的string 和byte 怎么互转
1.string 转 byte[]byte[] midbytes=isoString.getBytes("UTF8")为UTF8编码byte[] isoret = srt2.getBytes("ISO-88css实现小圆点
<!DOCTYPE html> <html> <head> <meta charset="utf-8" >电脑锁了怎么解锁?
第一种方法:先重启1下!按F8进入安全模式,这时发现多勒个用户"administrator"这个是系统专用的用户(1定要进安全模式才有噢),你进去按控制面板,按用户帐户,先按下上一步(在左上角)选择被密码锁住的用户,直接电脑桌面右下角有一个搜索是什么东西
这个搜索是任务栏上面出现的吗?右键点击任务栏空白处,选择{工具栏},然后取消它的对勾就行了。如果它不是在任务栏上面,而是显示在桌面上,那可能是你安装了什么程序或者软件显示的。如果你没有安装这类的软件,那我也不知道了~因为桌面在正常状态下,不css div怎么设定高度
css div怎么设定高度height就是设定高度的,写上正确的类名,就可以把对应的div的高度设定好了css 设定div 高度无效只需要把HTML或BODY的高度设定为100%,然后在body内的任意DIV的高度用百分比表示,js中怎么获取action传递的值
jsp中获取action传递过来的数据代码如下:Map request = (Map) ActionContext.getContext().get("request")既然你知道request是一个已存在的对象,在定义