location.hash详解[通俗易懂]

location.hash详解[通俗易懂]了解vue-router原理中更新URL但不重载页面原理之一location.hash1.存在形式及意义一般情况下为URL后"#"及其后面一部分组成,如http://www.test.com/#/something,其中http://www.test.com为真实的路径,而#/something则为网页中的位置,称之为锚点在访问锚点时会自动跳刀锚点所在的网页位置,通常有两种方式作为锚点<…

大家好,又见面了,我是你们的朋友全栈君。

了解vue-router原理中更新URL但不重载页面

原理之一location.hash

1.存在形式及意义

一般情况下为URL后 “#” 及其后面一部分组成,如http://www.test.com/#/something,

其中http://www.test.com为真实的路径,而#/something则为网页中的位置,称之为锚点

在访问锚点时会自动跳刀锚点所在的网页位置,通常有两种方式作为锚点

<a name=”something”></a>

<element id=”something”></element>

以上两种均可通过http://www.test.com/#/something使页面滚动到该元素的位置

2.hash的读写

location.hash可读可写的

//当前URL为http://www.test.com/#/something
location.hash;		        //输出 #/something

location.hash = '#/test1';	//http://www.test.com/#/test1,并且会新增一条历史记录

在对hash写时有个需要注意的地方,如下所示

//当前URL为http://www.test.com/
location.hash = "#/test"	//http://www.test.com/#/test
locationl.hash = "/#/test"	//http://www.test.com/#/#/test

当写入第一个字符不为为 “#” 时会自动生成一个 “#” 在字符串之前,再把字符串追加到生成的#后面

这样会造成有两个#,此时location.hash输出 “#/#/test”

3.onhashchange事件

在hash值发生变化时会触发该事件

window.onhashchange = function(e){
	console.log(e);
}

总结:

location.hash与HTML5 history类似,都能够在改变页面的URL而不会引起浏览器的重载

但是location.hash支持比较早的浏览器,而history是在HTML5的新API,可能某些较早的浏览器不支持

因此在vue-router中对此做了两种模式,即history模式与hash模式可以适应不同的浏览器

具体解释之后更新vue-router的原理分析

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158355.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 远程开机(外网WOL远程唤醒)「建议收藏」

    远程开机(外网WOL远程唤醒)「建议收藏」Win10开启网络唤醒功能的操作方法:PS:远程唤醒的要求1.首先,我们要在主板BIOS里面设置WOL唤醒功能的开关,大部分主板都会支持唤醒2.电脑的主板和网卡需要支持网络唤醒。一般无线网卡是不支持的,板载的有线网卡一般是可以的。3.所在网络环境需要有公网IP。如果是ADSL拨号的话,如果获取的是私网地址的话,那可以向运营商申请公网IP。4.主机跟路由器要保证一直通电,…

    2022年6月2日
    53
  • 常用数据库建模工具

    常用数据库建模工具收藏:http://www.oschina.net/project/tag/83/db-modelIntellij下mybatis插件 MyBatisCodeHelper [国产]MyBatisCodeHelper是Intellij上的mybatis插件,通过java对象生成建表sql,dao,mapperxml文件,方便的生成curd,另外可以通…上次更新:2017…

    2022年7月27日
    7
  • 常见算法题

    常见算法题常见算法题

    2022年4月24日
    49
  • idea2021.1.3激活码【2021免费激活】

    (idea2021.1.3激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS32PGH0SQB-eyJsaWN…

    2022年3月26日
    2.7K
  • linux 没有root权限的用户安装GCC[通俗易懂]

    linux 没有root权限的用户安装GCC[通俗易懂]在Linux下,如果有root权限的话,使用sudoaptinstall就可以很方便的安装软件,而且同时也会帮你把一些依赖文件也给编译安装好。但是如果不是用的自己的机器,一般情况下是没有root权限的。所以就需要自己动手下载tar文件,解压安装。在安装中遇到的最大的问题是依赖的问题。手动下载编译GCC,首先下载tar文件,可以在这里下载https://ftp.gnu.org/gnu/gc…

    2022年5月26日
    35
  • linux的权限命令_linux命令总结

    linux的权限命令_linux命令总结查看文件或目录的权限:ll更改权限操作:chmod①.u表示:属主。②.g表示:所属组用户。③.o表示:其他用户。④.a表示:所有用户。⑤.+表示:增加权限。⑥.-表示:删除权限。⑦.=表示:分配权限。1.每一行显示一个文件或目录的信息,这些信息包括文件的类型、文件的权限、文件的属主、文件的所属组、文件大小、创建时间和文件名。2.读取权限:r,写入权限:w,执行权限:x。①—:没有权限,对应二进制为000,八进制为0.②–x:允许执行,对应二进制001,八进制为1.③-.

    2025年10月28日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号