首页 > 其他分享 >关于hash的一些探究之开篇

关于hash的一些探究之开篇

时间:2023-06-26 10:06:48浏览次数:33  
标签:hash 开篇 前端 探究 ajax location 一些 相关



前言

 

       其实项目做着做着,慢慢地有点转型到所谓的“前端主导”的方式------后端返回前端ajax的数据,前端进行渲染和事件交互相关的东西。但是也越来越体验到ajax带来的一些不好的地方:每一个ajax请求中,页面不会更新地址栏,历史记录也就不会得到更新,浏览器自带的“前进”与后退(或者我们键盘用的Backspace回格键)也就失去了相关的作用

 

 

正文

 

      再考虑下笔的时候,其实还是觉得这个topic应该是一个系列

 

  • location.hash以及#相关的一些知识
  • onhashchange事件相关的
  • 还有就是关于一些框架库对应的History的这些插件源码的分析
  • HTML5 history API的一些介绍



location.hash以及#相关的一些知识:





   1、我写过 一篇location相关的整理的文章,里面就简单介绍了一下location.hash是干嘛的:


       location.hash    -------  返回从(#)开始的URL


      所以你可以用这样的方式获取#的值---------注意这个值是 可读可写





   2、 #到底有什么用?



  • #可以代表一个位置,#后面的可以是一个锚点或者对应容器的id

    比如: http://shurufa.baidu.com/help.html#n38  



    其实很多这样的说明性的网页会用 #来配合锚点进行对应内容的定位





   3、 #对于服务器端有没有用?



    http://shurufa.baidu.com/help.html#n38 这样的一个请求,我们可以从下图中看到:


你看不到有#这部分相关的内容。







   4、改变 #的内容是否会使网页进行重载?





       答案是: 不会!





   5、 改变#的内容是否会增加访问历史记录,使用回退是否能回到上一个访问的地址?





       答案是: 当然!。。。除了IE6&7



 

标签:hash,开篇,前端,探究,ajax,location,一些,相关
From: https://blog.51cto.com/u_16170312/6551639

相关文章

  • 《编写高质量代码》读书笔记系列开篇
    前言:   时间过的好快,进入这个互联网的fe行业已经快*年了,读书还是一个需要坚持的东东,是一种坚持,因为兴趣所以热爱。 正文:   其实这边书一种在间断地看着,今天组里买了一本,决定开一个系列,静静地品一下,重新审视自己的深度和方向。   1、如何做的更好的Web前端工程师?   ......
  • 关于reset.css的一些思考与探究
    项目多了,大家多会有自己积累的一些reset.css的经历或者自己改进的代码,其实初衷还是很简单的,达到复用,重置浏览器的一些默认样式,实现跨浏览器兼容。 1、最早关注的还是YUI的ResetCSS,  在线的压缩版本地址:http://yui.yahooapis.com/3.4.1/build/cssreset/cssreset-min.css 直接上......
  • 抽象基类Callable、Hashable
    抽象基类Callable、Hashable的主要作用是为内置函数isinstance提供支持,以一种安全的方式判断对象能不能调用或散列。 若想检查是否能调用,可以使用内置的callable()函数;但是没有类似的hashable()函数,因此测试对象是否可散列,最好使用isinstance(my_obj,Hashable)。 ......
  • 【后端面经-Java】HashMap详解
    (【后端面经-Java】HashMap详解)1.HashMap的家族定位接口java.util.Map有四个常用的实现类,如图是它们之间的类继承关系。下面我将一一介绍其性能特点。HashMap:最常用的Map实现类,通过使用Hash表结构,提高查找速度;使用键值对作为存储节点,只允许一个key值为null,允许多个value......
  • 【后端面经-Java】HashMap详解
    目录1.HashMap的家族定位2.HashMap的数据结构2.1Hash表的基本概念2.2Hash冲突2.3HashMap数据结构3.HashMap的重要变量3.1常量3.2变量3.3辨析size、capacity、threshold4.HashMap重要方法和源码解析4.1构造方法4.2resize方法4.3hash方法4.4put方法参考文献1.HashMa......
  • Vue中的Ajax请求和Slot插槽的技术探究
    Ajax请求Ajax是一种异步的Web开发技术,用于在不刷新整个页面的情况下向服务器发送请求和接收响应。Vue提供了一种简单而强大的方法来处理Ajax请求。以下是在Vue中进行Ajax请求的基本步骤:安装Axios:Axios是一个流行的JavaScript库,用于进行Ajax请求。你可以使用npm或yarn等包管理......
  • python模块之hashlib
    用于加密相关的操作,3.x里代替了md5(不可反解)模块和sha模块,主要提供 SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法importhashlibm=hashlib.md5()m.update(b"He......
  • HashMap的工作原理
    HashMap的工作原理(图文+例子)详解,绝对简单通俗易懂 目录什么是HashMap?HashMap的内部结构内部结构之数组内部结构之链表Put方法与Get方法原理JDK1.7月JDK1.8中HashMap的区别什么是HashMap?基于哈希表的Map接口的实现。此实现提供所有可选的映射操作,并允许使用nu......
  • Redis-Hash常用命令
    Redis-Hash常用命令hash的存储格式示例fkey:{k1v1k2v2k3v3}hset设置hash类型,在key中可以添加键值对127.0.0.1:6379>hsetk1k4v4k5v52hget获取hash类型中的指定键的value127.0.0.1:6379>hsetk1k4v4k5v52127.0.0.1:6379>hgetk1k4#获取k1中键为......
  • Python hashlib模块
    Pythonhashlib模块hashlib模块用于加密相关的操作,代替了md5模块和sha模块主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法#md5废弃importmd5hash=md5.new()hash.update('admin')printhash.hexdigest()#sha废弃importshahash=sha.new()ha......