在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网址信息
给您推荐相同类型的内容:
js中怎么获取action传递的值
jsp中获取action传递过来的数据代码如下:Map request = (Map) ActionContext.getContext().get("request")既然你知道request是一个已存在的对象,在定义js中怎么获取json中的key,value值?
1、首先,需要创建一个Json文件。或者是用户自行从网络上获得Json文件。2、如果用户是创建的。还需要在新建的Json文件中输入数据。3、准备好Json数据文件以后,接着创建一个Html文件。在<script>标签css3做圆角右边是圆角左边是直角
问题:css3做圆角右边是圆角左边是直角解答:注意css改动这里,nav ul li{ float:left margin:0 20px background-color:#999border-radius:10px 0 0 10px -go语言现在很重要么??
Go作为Google2009年推出的语言,其被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。 对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支电脑主机外放功能如何关掉?
以win7系统为例:1、首先点击电脑左下角任务栏位置的扬声器图标,在打开的界面点击“合成器”。2、然后在打开的窗口中可以看到“扬声器”和“系统声音”。3、可以直接点击扬声器下方的喇叭按钮,将其变成禁用模式。4、或者点击“扬声器”图标,在打电脑数据怎么恢复
可以使用软件来恢复需要的数据。数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的的原始素材。数据是信息的表现形式和载体,可以是符号、文字、数字、语音、图像、视频等。数据和信息是不可分离的,数据是信息的CSS(css reset)重置到底要怎么写?
(文章来源于:玉溪无痛人流因为各种浏览器的算法不一样,从而导致CSS在不同的浏览器中存在一部分不一样的效果,CSS重置就是写一段初始化CSS将这些浏览器不同的初始化设置指定同一种显示效果。使用了CSS重置以后,各不同浏览器的初始化设置将一致为什么java内要判断两个对象是否相等呢?
一个标准的实体类的4大基本规则:1.封装(属性私有化,分别提供对应的get与set方法等),2、提供无参构造,3、重写:toString,equals,hashCode这3个方法,4、实现java.io.Serializable接口。所以j电脑怎么连接猫
连接方法如下:一、线路的连接方法,宽带水晶插头插入猫的ADS,端口--猫和路由器为同一根轴线连接。二、猫和路由器恢复出厂设置按钮(用圆珠笔插入端口按5-7秒左右即可恢复出厂设置)。路由器的线一头插在猫的LAN口上,另一头插在路由器的WANjs如何将一个div移动到另一个div后面
可以,用创建和插入元素<!DOCTYPE html><html> <head><title>New Document <tit如何查看电脑ip地址
利用电脑控制面板的“网络和共享中心”,找到“查看网络活动”项下的右侧“连接”一栏,点开查看详情就可以查看了。具体操作方法如下:1、打开电脑桌面,找到并点击左下角的开始菜单,选择进入“控制面板”。2、接着在控制面板中,找到并点击进入“网络和android如何使用python脚本
Android平台吸引众多Linux社区用户的原因是,Android基于广泛的开源,即使甲骨文公司对此作出了诉讼。在基于Android平台的手机上开发软件,依然首选Java。谷歌提供的软件开发工具(SDK)不但包括了所需的文档与库,还提供了微信上的视频怎么传到电脑上
将微信上的视频传输到电脑上的方法如下:1、打开任意手机,在手机主界面中点击“微信”APP。2、在随后打开的界面中点击“文件助手”并进入。3、在文件助手聊天界面中发送需要传送到电脑上的视频。4、打开电脑微信并登录,进入到“文件助手”界面中,js 前端过滤器 实现图片缓存与版本控制更新的功能?
兄台多虑了,以我个人见解,这个功能应该是前端js搞不定,你js什么时候加载就是个问题,第二个问题就是js也检测不到网络请求,那是浏览器干的事。但是针对缓存这事,一个是在服务端设置,也就少web服务或者少CDN那设置缓存。很多情况下,图片,ccss实现小圆点
<!DOCTYPE html> <html> <head> <meta charset="utf-8" >电脑总是蓝屏是怎么回事
蓝屏的原因有很多种,包括软件、硬件间的兼容性问题,或者硬件故障等。可参考下面的方法进行排查:1、请您确认每次蓝屏的报错代码是否一致,如果一致,您可以确认蓝屏代码并通过蓝屏代码进行简单排查。2、若是BIOS下使用正常,蓝屏出现在系统使用过程中有人学过GO语言么?和C++比、优缺点在那?
C++适合本地程序的开发。Go语言适合网络程序和本地程序的开发。Go的优点:垃圾回收,语意明确,格式统一。 Go的缺点:效率目前没有C++高,但对于桌面程序而言,效率问题不大,因为硬件已经很快了。c++过于复杂了,加入很多炫技的内容。这些内如何强化计算机网络信息安全的相
第一,针对计算机网络信息安全问题要能结合实际采用多方面的措施加以防护,首先从技术手段层面来看要能对对操作系统补丁进行升级,由于操作系统自身的复杂性和对网络需求的适应性等,要能及时的对系统进行钩心升级,对网络的恶意攻击以及通过漏洞便利入侵就有电脑锁了怎么解锁?
第一种方法:先重启1下!按F8进入安全模式,这时发现多勒个用户"administrator"这个是系统专用的用户(1定要进安全模式才有噢),你进去按控制面板,按用户帐户,先按下上一步(在左上角)选择被密码锁住的用户,直接64位的win10怎么用visual studio编写C语言程序
工具原料:visual studio 20101.双击打开Vs 20102.找到左上角的新建项目并点击打开,选择win32控制台程序,给文件命名,如123,单击确定3.点击下一步,注意,此时出现的对话框一定要把空项目前面给勾上,单击下黑马程序员的python教得好吗?
黑马程序员在python方面还是比较有一套的,率先引入深度机器学习课程,更是率先在课程中加入了大数据分析和数据绘图课程,对已有的数据结构和操作系统编程课程进一步深化。顺利搭上了人工智能这趟顺风车。 相比较现在大部分还是停留在运维阶段。Pytgolang ide 什么好用
第一种:LiteIDELiteIDE是一个简单的开源IDE,值得注意的是,它是GO语言2012年正式版发布的首个IDE,由Qt开发,它看起来类似于Visual Studio等其他编译器。由于它是为golang设计的,LiteIDE为开发人员JS中的const命令你真懂它吗?
我们都知道const一般声明一个只读的常量,声明之后就不能修改了,并且声明时必须初始化 那大家有没有遇到这样的情况 奇怪,上面的例子明明改变了变量的值,为什么没有报错? 下面我们就探究一下const的本质其实constjava 里面的string 和byte 怎么互转
1.string 转 byte[]byte[] midbytes=isoString.getBytes("UTF8")为UTF8编码byte[] isoret = srt2.getBytes("ISO-88电脑屏幕太大怎么缩小
要调整电脑的屏幕大小,可以通过显示器的分辨率来调整。右击桌面选择显示设置右键点击桌面,选择右键菜单上的显示设置。点击分辨率下拉框点击窗口右边的分辨率下拉框。选择分辨率点击选择一个分辨率即可调整屏幕的大小了。mac电脑点击显示器选项点击系统偏js实现html简单访问量统计功能代码
这个现在好像没什么办法吧,一般都是在后台统计,因为每次打开网页都是一个新的页面,js是重新调用的,建议你在后台跳转到网页时,将那个方法设置一个统计参数,每次打开那个方法都会累计,或者创建一个数据库,在过滤器里面每次调用链接的时候在数据库upgo语言到底有什么好处
1. 部署简单Go 编译生成的是一个静态可执行文件,除了glibc外没有其他外部依赖。这让部署变得异常方便:目标机器上只需要一个基础的系统和必要的管理、监控工具,完全不需要操心应用所需的各种包、库的依赖关系,大大减轻了维护的负担。2. 并发单模单纤收发器,单模双纤光纤收发器是什么意思呀?什么区别呀?
1、使用的光纤数量不同:单光纤收发器:通过单光纤接收和传输数据。顾名思义,单光纤设备可以节省光纤的一半,即在单光纤中实现数据的接收和传输,在光纤资源中是非常适合的地方。但是,由于单光纤收发器产品没有统一的国际标准,不同厂家的产品在互连时可能八皇后问题的C语言代码
#include <math.h>#include <stdio.h>#define MAX 8 * 棋子数及棋盘大小MAXxMAX *int board[MAX]* 印出结果 *vo