JS获取几种URL地址的方法

JS获取几种URL地址的方法,第1张

下面为使用JS获取MAC地址、IP地址及主机名的方法:

复制代码代码如下:

<html>

<head>

<title></title>

<meta >

JS对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent

下面简单介绍一下它们的区别

1 escape()函数

定义和用法 

escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。

语法 

escape(string)

参数  描述 

string  必需。要被转义或编码的字符串。

返回值 

已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列。

说明 

该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: - _ ! ~ ' ( ) 。其他所有的字符都会被转义序列替换。

2 encodeURI()函数 

定义和用法 

encodeURI() 函数可把字符串作为 URI 进行编码。

语法 

encodeURI(URIstring)

参数  描述 

URIstring  必需。一个字符串,含有 URI 或其他要编码的文本。

返回值 

URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。

说明 

该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ ! ~ ' ( ) 。

该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/:@&=+$,#

3 encodeURIComponent() 函数

定义和用法 

encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。

语法 

encodeURIComponent(URIstring)

参数  描述 

URIstring  必需。一个字符串,含有 URI 组件或其他要编码的文本。

返回值 

URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。

说明 

该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ ! ~ ' ( ) 。

其他字符(比如 :;/:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。

提示和注释 

提示:请注意 encodeURIComponent() 函数 与 encodeURI() 函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。

4 总结:

 通过对三个函数的分析,我们可以知道:escape()除了 ASCII 字母、数字和特定的符号外,对传进来的字符串全部进行转义编码,因此如果想对URL编码,最好不要使用此方法。而encodeURI() 用于编码整个URI,因为URI中的合法字符都不会被编码转换。encodeURIComponent方法在编码单个URIComponent(指请求参数)应当是最常用的,它可以讲参数中的中文、特殊字符进行转义,而不会影响整个URL。

1、   传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。 

例如:documentwrite(' 退出

2、   进行url跳转时可以整体使用encodeURI

例如:Locationhref=encodeURI(">

在WEB开发中,时常会用到javascript来获取当前页面的url网址信息,在这里是我的一些获取url信息的小总结。

下面我们举例一个URL,然后获得它的各个组成部分:>

判断URL解码后的结果是不是乱码如下:

1、如果是ajax:首先要看看后台进行response输出时,设置的头文件格式是不是utf-8,并且要保证输出的类型为text/html

2、判断浏览器解析的是不是utf-8:看看网页展示的中文是不是乱码,如果是,那么就有可能是没指定解析编码,指定方式如楼上所说,<meta >

一、JS高手呢,获取历史网址

你的问题涉及到 Same Origin Policy(同源策略),这是一个关系到隐私和安全性的问题。任何浏览器都不会给你机会让你访问 异域 历史网址。

但是,如果这三个页面在同一域名下,你可以使用 Javascript 的 documentcookie 来记录每次访问的网址。

我写的例子需要4个文件,url_historyjs,1,2,3(三个 文件内容相同),代码写在空间(hibaidu/keneks/item/50699e21f9300d0c72863e4d)

复制粘贴,将 url_historyjs 和其它三个 文件放在一起,访问任何一个页面,点击任何链接,上面会自动显示曾经访问过的页面。

历史网址以 array 形式保存在 url_history 变量中,所以 url_history[0] 为上一个,url_history[1] 为上上一个,以此类推。

二、js如何获取前两页的url

<script> var backurl=documentreferrer; alert(backurl);</script>;但是有的浏览器不支持的,如果是同个域名下通过此方式跳转的,那么我们可以通过访问windowwopener对象去获取丢失的referrer信息。

代码如下:<script type=text/javascript> var referrer = documentreferrer; if (!referrer) { try { if (windowopener) { // IE下如果跨域则抛出权限异常 // Safari和Chrome下windowopenerlocation没有任何属性 referrer = windowopenerlocationhref; } } catch (e) {} }</script>;你的q号,我一会远程助你。

三、如何使用js获取修改URL

使用js对当前的URL进行 *** 作,可以使用内置对象windowlocation;windowlocation有以下属性:windowlocationhref:取得当前地址栏中的完整URL,可以通过赋值改变当前地址栏中的URL;windowlocationsearch 取得当前URL的参数部分,即“?”后面的部分(包括问号),可以通过赋值改变URL的参数部分;windowlocationhash:取得当前URL中包含的锚记,即“#”后面的部分(包括#),可以通过赋值改变URL的锚记部分;windowlocationhost:取得当前URL中的主机信息,包括端口号,可以通过赋值改变主机信息;windowlocationhostname:取得当前URL中的域名部分,不包括端口号,可以通过赋值改变域名;windowlocationport:取得当前URL中的端口号,可以通过赋值改变端口号;windowlocationpathname:取得当前URL中的路径信息,即域名与参数之间的部分,可以通过赋值改变当前URL的路径;windowlocationprotocol:取得当前URL的协议部分,比如:,:等,可以通过赋值改变URL的协议部分;windowlocation有一下方法:windowlocationreplace(url):用传入的URL字符串替代当前的URL,该方法会将历史记录中的URL一并替换掉,也就是说,这个方法会覆盖之前的历史记录;windowlocationreload():重新加载当前URL,相当于刷新;windowlocationassign(url):加载传入的URL,该方法不会覆盖之前的历史记录;。

四、JS获取几种URL地址的方法

下面为使用JS获取MAC地址、IP地址及主机名的方法:复制代码代码如下:<meta -equiv="Content-Type" content="text/; charset=gbk"><body> 。

五、js中如何获取前一个页面的url

获取的方法如下:

1、设置或获取整个 URL 为字符串: windowlocationhref

2、设置或获取与 URL 关联的端口号码: windowlocationport

3、设置或获取 URL 的协议部分 windowlocationprotocol

4、设置或获取 href 属性中跟在问号后面的部分 windowlocationsearch

5、获取变量的值(截取等号后面的部分)

6、设置或获取 URL 的协议部分: windowlocationprotocol

7、设置或获取 href 属性中在井号“#”后面的分段: windowlocationhash

8、设置或获取 location 或 URL 的 hostname 和 port 号码: windowlocationhost

六、如何使用js获取修改URL

使用js对当前的URL进行 *** 作,可以使用内置对象windowlocation;

windowlocation有以下属性:

windowlocationhref:取得当前地址栏中的完整URL,可以通过赋值改变当前地址栏中的URL;

windowlocationsearch 取得当前URL的参数部分,即“?”后面的部分(包括问号),可以通过赋值改变URL的参数部分;

windowlocationhash:取得当前URL中包含的锚记,即“#”后面的部分(包括#),可以通过赋值改变URL的锚记部分;

windowlocationhost:取得当前URL中的主机信息,包括端口号,可以通过赋值改变主机信息;

windowlocationhostname:取得当前URL中的域名部分,不包括端口号,可以通过赋值改变域名;

windowlocationport:取得当前URL中的端口号,可以通过赋值改变端口号;

windowlocationpathname:取得当前URL中的路径信息,即域名与参数之间的部分,可以通过赋值改变当前URL的路径;

windowlocationprotocol:取得当前URL的协议部分,比如:,:等,可以通过赋值改变URL的协议部分;

windowlocation有一下方法:

windowlocationreplace(url):用传入的URL字符串替代当前的URL,该方法会将历史记录中的URL一并替换掉,也就是说,这个方法会覆盖之前的历史记录;

windowlocationreload():重新加载当前URL,相当于刷新;

windowlocationassign(url):加载传入的URL,该方法不会覆盖之前的历史记录;

以上就是关于JS获取几种URL地址的方法全部的内容,包括:JS获取几种URL地址的方法、如何消除PHP和JS 对URL编解码的不同之处,统一前后端对URL的编解码、对于JS 中编码(encode)和解码(decode)的三种方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9691269.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存