首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    几种方法实现ajax请求内容时使用浏览器后退和前进功能

    我们可以利用ajax进行无刷新改变文档内容,但是没办法去修改URL,即无法实现浏览器的前进与后退、书签的收藏功能。...当只有hash部分发生变化时,浏览器的历史记录会产生记录,但不会向服务器发出请求,这时按后退键地址栏的uri会变化但页面内容不变。...ie6、7均不支持onhashchange,但可以用setInterval定期检查hash的改变,或者onload中检查的方法 曾今经典场景:Gmail借助ifram和hash实现前进和后退功能...go([delta]):delta是个数字,如果不写或为0,则刷新本页;如果为正数,则前进到相应数目的页面;若为负数,则后退到相应数目的页面。...该事件会在调用浏览器的前进、后退以及执行history.forward、history.back、和history.go触发,因为这些操作有一个共性,即修改了历史堆栈的当前指针。

    96820

    如何用栈实现浏览器的前进和后退?

    2019 年第 79 篇文章,总第 103 篇文章 数据结构与算法系列的第四篇文章,前三篇文章: 数据结构算法入门--一文了解什么是复杂度 一文了解数组 数据结构算法入门--链表 前言 浏览器的前进和后退功能怎么用栈来实现呢...这里先介绍一下栈的定义和实现,并介绍它的一些常用的应用,最后再简单实现一个简单的浏览器前进和后退的操作。 栈是一种“操作受限”的线性表,只允许在一端插入和删除数据,特点就是后进先出、先进后出。...目录: 栈的实现 栈在函数调用中的应用 栈在表达式求值中的应用 栈在括号匹配中的应用 利用栈实现浏览器的前进和后退功能 栈的实现 栈既可以通过数组实现,也可以通过链表实现。...利用栈实现浏览器的前进和后退功能 最后一个应用是实现浏览器的前进和后退功能,这里采用两个栈来解决。...cforward to cback to cback to bback to abrowser: 总结 本文先介绍了如何实现一个栈,然后介绍了栈的几个应用,包括函数调用、表达式求值、括号匹配、浏览器前进和后退的实现等

    92830

    ajax无刷新页面切换,历史记录后退前进解决方案

    问题描述 我们在工作中常常遇到需要用ajax来显示下一页和上一页,ajax可以不刷新页面进行操作!但是,假如你想通过浏览器的历史记录返回上一页和下一页。那么ajax默认是做不到的!...那么如何解决ajax历史记录的返回和前进呢?今天我们就一起来学习一下! js中history相关API普及 首先我们来看看history相关的API。...history.replaceState 用新的state和URL替换当前。不会造成页面刷新。 state:与要跳转到的URL对应的状态信息。...window.onpopstate history.go和history.back(包括用户按浏览器历史前进后退按钮)触发,并且页面无刷的时候(由于使用pushState修改了history)会触发popstate...而当有浏览者点击浏览器“后退”或“前进”按钮时,我们用下面的代码来响应用户的操作: window.onpopstate = function(event){ if(event.state){

    1.4K30

    Git命令大全

    ,版本信息显示部分hash值 git reflog :(推荐)显示全部版本信息,语法Head@(移动到当前版本需要的步数) 2.2 HEAD指针 控制前进后退,指向离我们最近的目录 git reset...--hard HEAD :恢复到当前指针指向的位置,本地库、暂存区、工作区保持一致 git reset --hard [局部hash值]:根据索引值前进或后退 git reset --hard HEAD...指针,并且重置暂存区和工作区,三方保持一致 2.3 删除找回 若文件存在时的状态提交到本地库,删除后,可通过回退找回删除的文件 git reset --hard [未删除的指针位置] :(删除操作提交已经提交到本地库...,指针位置指向历史记录) git reset --hard HEAD :(删除操作尚未提交到本地库,指针位置使用HEAD) 2.4 比较差异 git diff [filename] :将工作区中文件和暂存区对应文件进行比较...push origin:将当前分支推送到origin主机的对应分支 git push:当前分支只有一个追踪分支时使用undefined-git push origin [推送的分支名]:将本地修改推送到

    1.5K75

    BSTestRunner增加历史执行记录展示和重试功能

    正文 在之前的几篇文章中,Appium系列(四十)测试报告支持展示测试用例执行历史记录,unittest系统(八)一文搞定unittest重试功能Appium系列(三十一)增加失败重试功能...,unittest系统(七)产生漂亮的测试报告等几篇文章呢,对于用例的失败重试,和用例的历史测试记录存储展示做了很多的描述呢,但是都是基于各个项目呢,不方便使用,为了更好的使用,我们对这里进行抽离,抽离出来一个单独的模块...,集成到BSTestRunner中,以后我们使用BSTestRunner直接就可以使用里面的失败重试和展示历史记录了。...历史数据,我们在代码中,调整中增加了存储功能,我们默认存在txt文档中。我们看下存储和读取的方法。

    43830

    【实战】Canvas实现图片上标注、缩放、移动和保存历史状态

    撤销与恢复的功能实现 这个的话,我们首先需要了解常见的撤销与恢复的功能的逻辑分几种情况吧 若当前状态处于第一个位置,则不允许撤销 若当前状态处于最后一个位置,则不允许恢复 如果当前撤销了,然而更新了状态...,则取当前状态为最新的状态(也就是说不允许恢复了,这个刚更新的状态就是最新的) 画布状态的更新 所以我们需要设置一些变量来存,状态列表,与当前画笔的状态下标 // 定义参数存东东 const canvasHistroyListRef...,并且更新当前状态对应的下标,还需要处理一下一些细节 总结一下: 鼠标抬起时,获取当前canvas画布状态 添加进状态列表中,并且更新状态下标 如果当前处于撤销状态,若使用画笔更新状态,则将当前的最为最新的状态...接下来我们需要处理一下状态的撤销与恢复的功能啦 我们先定义一下这个工具栏吧 ? 然后我们设置对应的事件,分别是撤销,恢复,与清空,其实都很容易看懂,最多就是处理一下边界情况。...context || canvasCurrentHistory === 0) return // 清空画布历史 canvasHistroyListRef.current = [canvasHistroyListRef.current

    6.8K40

    git学习总结02 — 版本控制

    本地库版本管理 reset 2.1 reset 操作 HEAD 指针的三种方式 版本的前进后退本质是 HEAD 指针的移动,有三种移动指针进行版本控制的方式:索引、^、~。 # 1....如下图,硬重置不保留已提交的修改,直接将当前分支的状态恢复到某个特定提交下,同时将当前工作区和暂存区中的文件全部移除。 [reset-hard.gif] 3....# 推送指定标签名的标签 $ git push origin v1.0 # 推送全部尚未推送到远程的本地标签 $ git push origin --tags 标签删除 # 删除本地标签 $ git...丢弃指定文件在工作区的修改以恢复(可以恢复为暂存区中的文件) $ git checkout -- [file name] # 方式2:通过 reset 的 hard 参数重置 HEAD 指针到最新记录,刷新暂存区和工作区状态...# 不改变历史提交记录还原,并生成新的提交记录 $ git revert [历史记录指针位置] 场景6:清理一团糟的本地仓库 # 还原 master 和远程最新的一致 $ git fetch origin

    1K107

    Git 实战

    greph #图形显示,更直观 git log --pretty=oneline #漂亮一行显示 git log --oneline #简洁显示 说明:HEAD@{移动到当前版本需要多少步} 1.3.5 前进后退...基于索引值推荐 git reset --hard 指针位置 例子:git reset --hard a6ace91 #回到这个状态 使用 ^ 符号只能后退 git reset --hard...HEAD^ 例子:git reset --hard HEAD^^ 注意:几个 ^ 表示后退几步 使用 ~ 符号只能后退 git reset --hard HEAD~n 例子:git reset...删除文件并找回 相当于建立一个快照,虽然删除了,但只要添加到暂存区,就能找回 git reset --hard 指针位置 1.3.8 文件差异比较 git diff 文件名 git diff 哈希值 文件名 #和历史中的一个版本比较...1.2.3 Forking 工作流 在 GitFlow 基础上, 充分利用了 Git 的 Fork 和 pull request 的功能以达到代码审核的目的。 安全可靠地管理大团队的开发者

    60520

    ios用了推送功能如何打包和如何生成打包证书

    首先要明确一个概念,打包需要打包证书,推送需要推送证书。 比如你使用hbuilderx打包,使用了推送功能,则你需要两个证书:一个是打包证书,一个是推送证书。这两个证书是不能合二为一的。...打包的证书是用来在hbuilderx打包的,而推送证书是用来放到推送平台后台发送推送消息用的(比如你在hbuilderx使用了个推,就需要登录个推的后台,把这个推送证书上传到个推的后台)。...假如你没有如何生成证书的经验,你可以参考我之前写的这篇文章先生成打包证书: (要注意的是,因为你用了推送功能,在下面这篇文章生成identifiers(appId)的那个步骤中,创建的时候要勾选支持推送...你熟悉打包证书的创建流程后,创建推送证书就很简单了,就是上文链接创建cer证书的步骤中,证书类型选择发布型push推送证书就行了。

    1.3K30

    实现一个前端路由,如何实现浏览器的前进与后退 ?

    需求 如果要你实现一个前端路由,应该如何实现浏览器的前进与后退 ? 2. 问题 首先浏览器中主要有这几个限制,让前端不能随意的操作浏览器的浏览纪录: •没有提供监听前进后退的事件。...•用户可以手动输入地址,或使用浏览器提供的前进后退来改变 url。 所以要实现一个自定义路由,解决方案是自己维护一份路由历史的记录,从而区分 前进、刷新、回退。 下面介绍具体的方法。 3....len = this.history.length; // 比较当前路由的状态,得出是后退、前进、刷新的状态。...3.2.3 实现浏览器的前进、后退 第二个方法就是:用两个栈实现浏览器的前进、后退功能。...其实就是在第一个方法的代码里面, 添加多一份路由历史纪录的数组即可,对这两份历史纪录的操作如上面示例图所示即可,也就是对数组的增加和删除操作而已, 这里就不展开了。

    1.6K30

    前端路由三种模式原理

    #后跟的就是页面Hash,同样hash的改变也会推进浏览器历史记录中。 支持后退前进。...前提是不能真的发生了页面跳转,而是在由history.pushState()或者history.replaceState()形成的历史节点中前进后退 注意:用history.pushState()...window.onpopstate history.go和history.back(包括用户按浏览器历史前进后退按钮)触发,并且页面无刷的时候(由于使用pushState修改了history)会触发popstate...需要额外注意: history api可以分为两大部分,切换和修改,参考MDN,切换历史状态包括back、forward、go 三个方法,对应浏览器的前进,后退,跳转操作: history.go(-...2);//后退两次 history.go(2);//前进两次 history.back(); //后退 hsitory.forward(); //前进 复制代码 修改历史状态包括了pushState,replaceState

    1.1K30

    【Java 进阶篇】JavaScript BOM(浏览器对象模型)详解

    BOM,即浏览器对象模型(Browser Object Model),是JavaScript与浏览器之间的接口,它允许JavaScript与浏览器进行交互,实现访问和控制浏览器窗口、文档和其他浏览器功能的功能...window.location.href = 'https://www.example.com'; // 加载新的URL 刷新页面: window.location.reload(); // 刷新当前页面 后退和前进...历史记录 BOM允许您访问和操作浏览器的历史记录。history对象包含与浏览历史相关的属性和方法。 3.1 后退和前进 使用history对象,您可以后退或前进到浏览历史中的不同页面。...history.back(); // 后退到上一个页面 history.forward(); // 前进到下一个页面 3.2 历史记录长度 您可以使用length属性来获取历史记录的长度,即浏览历史中的页面数量...const historyLength = history.length; 3.3 手动添加历史记录 通过pushState方法,您可以手动向浏览器的历史记录中添加新的页面状态。

    67120

    Visual Studio 调试系列4 单步后退来检查旧应用状态(使用使用 IntelliTrace 窗口)

    IntelliTrace 后退会在每个断点处及调试器步骤事件发生时自动拍摄应用程序的快照。 凭借记录的快照便可以返回到上一个断点或步骤,并查看当时应用程序的状态。...如果希望查看以前的应用程序状态,但不想重新启动调试或重新创建所需应用状态,使用 IntelliTrace 后退可以节省时间。   ...02 导航和查看快照 1、使用“调试”工具栏中的“后退”(Alt + [) 和“前进”(Alt + ]) 按钮,在事件间进行导航 。 这些按钮用于浏览“诊断工具”窗口中“事件”选项卡上显示的事件 。...后退或前进到某个事件会自动激活所选事件的历史调试。 ? 后退或前进时,Visual Studio 进入历史调试模式。 在此模式下,调试器上下文将切换到记录所选事件时的时间。...03 IntelliTrace 后退功能与 IntelliTrace 仅事件模式有何不同 仅事件模式下的 IntelliTrace 允许在调试器步骤发生时和断点处激活历史调试。

    3K40
    领券