History.js 有没有办法知道何时按下后退按钮

2024-02-04

我已经开始测试历史.js https://github.com/balupton/history.js。在了解了它的工作原理并且没有popstate,而是有statechange。我正在寻找一种在按下浏览器后退按钮时有所不同的方法。

原因是我需要知道状态移动之前的 URL(从我要移动到的状态)。随着gist https://gist.github.com/854622该项目包括,只查看我们访问的 URL。

我希望解决方案不是跟踪全局变量中访问的最新 URL。

Thanks


我发现 github 上的解决方案对于我的目的来说有点过头了。我创建了一个始终为 true 的布尔值,除了之前我使用 History 来更改状态时。

var manualStateChange = true;

History.Adapter.bind(window,'statechange',function(){
    if(manualStateChange == true){
     // BACK BUTTON WAS PRESSED
    }
    manualStateChange = true;
});

每当我以编程方式更改状态时,请将布尔值设置为 false:

manualStateChange = false;
History.pushState(null, null, currentPath);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

History.js 有没有办法知道何时按下后退按钮 的相关文章

  • 如何在 Firefox 控制台中访问附加内容脚本?

    我为 Firefox 和 Chrome 开发了一个插件 它有内容脚本 我想在浏览器选项卡的控制台中访问它们 在 Firefox 上网页控制台 https developer mozilla org en US docs Tools Web
  • javascript 中对象的“异步”循环

    通常 我们可以对数组和对象进行循环来迭代属性 值 但循环是阻塞的 但是 超时可用于模拟异步循环 我设法为数组做到了这一点 http jsfiddle net LHhy2 do stuff function asyncLoop i do st
  • 通过pm2运行node.js,但经常重新启动:通过信号[SIGINT]以代码[0]退出

    我试图在我的系统上运行 node js 但遇到了这个问题 2016 06 01 20 46 28 App app with id 13 and pid 12633 exited with code 0 via signal SIGINT 2
  • Angular 2 Material 2 日期选择器日期格式

    我不知道如何更改材料2日期选择器的日期格式 我已阅读文档 但我不明白我实际上需要做什么 datepicker默认提供的输出日期格式为f e 6 9 2017 我想要实现的目标是将格式更改为类似的格式9 Jun 2017或任何其他 文档htt
  • 仅单击 div 内部

    我正在为一个小网站制作教程 我只想让教程气泡可点击 因此 当我们尝试单击气泡之外的某些内容时 什么也不会发生 换句话说 我希望我的 html 不可点击 而 tutorial bubble 可点击 尝试这个 jQuery function h
  • Javascript - 在加载所有图像后执行

    看了别人的问题我想 window onload 会回答我的问题 我已经尝试过这个 但它会在页面加载时立即执行代码 而不是在图像加载之后 如果有什么区别的话 图像来自 CDN 并且不是相对的 有人知道解决办法吗 我没有使用 jQuery 想要
  • 如何防止 gulp-notify 破坏 Windows 中的 gulp-watch?

    我正在使用吞咽通知 https www npmjs org package gulp notify插入 这是我如何在 gulpfile js 中实现它的示例 您可以看到我也在使用 gutil 和 livereload 我不知道它们是否发挥任
  • 限制可选 DOM 复选框

    我试图限制用户可以选择的复选框数量 这些复选框是为数组中的每个项目生成的 DOM 输入对象 我目前对此没有运气 因此非常感谢任何帮助 谢谢 在这里小提琴 http jsfiddle net vVxM2 222 http jsfiddle n
  • 在鼠标光标位置添加 cytoscape 节点

    我想在画布上的单击事件上的鼠标箭头位置添加一个 cytoscape 节点 我怎样才能做到这一点 我的方法 效果不太好 我可以通过单击创建一个节点 但无法确保创建的节点的位置位于我单击的位置 使用这样的东西 cy click function
  • 如何导入和导出 javascript ES6 类

    我是 javascript 和 nodejs 的新手 我正在使用这个项目来发展我的技能并学习新技术 目前我的项目使用多个相互依赖的类 类文件位于不同的目录中 我当前正在尝试使用 export 和 require 语句来允许在其他文件中引用类
  • javascript jquery 使用脚本更改脚本的src

    我有一个 JavaScript 脚本 它有一个 src 元素 这个 src 是一个 url 我想使用 javascript 更改它 一次更改为其他内容 或者动态创建它 使用 javascript jquery 动态创建脚本元素的最佳方法是什
  • 如何以编程方式退出或关闭 Javascript UWP 应用程序? (Windows 10)

    我制作了一个游戏 它需要自己的退出按钮 我无法使用CoreApplication Exit https msdn microsoft com en us library windows apps windows applicationmod
  • jQM / jquery-collagePlus 使用问题

    我正在使用 jQM 构建应用程序 并且尝试使用 jquery collagePlus http ed lea github io jquery collagePlus http ed lea github io jquery collage
  • 如何更改自动完成中的结果过滤器?

    我不想进行字面匹配 而是想通过正则表达式选择结果 我可以覆盖自动完成的默认行为来完成此任务还是需要替代结构 有一个内置的方法可以做到这一点 只需提供一个函数source http jqueryui com demos autocomplet
  • 如何检测元素内容何时发生变化

    我正在寻找一种方法来监视元素内动态填充 无页面重新加载 内容 以便我可以将类添加到另一个元素 到目前为止我有这个 HTML div class message container div class messages error span
  • 计算文本选择的 xy 位置

    我正在尝试使用 DOM 元素创建自己的文本选择 是的 我的意思是当您在此元素中选择文本时 您会在文本后面看到蓝色背景 这个想法是停止默认行为 蓝色 并使用我自己的元素来完成工作 方法是找到选择的 xy 位置 然后放置绝对定位的元素 我希望能
  • 禁用特定 div 上的 Tab 键

    我有以下结构 div div Some content div div Some content div div 我想 禁用 div2 上的 tab 键 我的意思是按下 tab 键时 div2 的元素不会获得焦点 有没有简单的方法可以使用
  • Node.js 未处理的“错误”事件

    我编写了一个简单的代码并将其保存在文件 try js 中 var http require http var makeRequest function message var options host localhost port 8080
  • Node npm 包抛出使用严格:全局发布和安装后未找到命令

    我正在尝试发布 npm 包 当我全局安装该包并尝试运行 cli 命令时 我收到此错误 nvm versions node v0 12 2 bin myPack line 1 use strict command not found nvm
  • 从输入类型编号获取无效值

    我正在使用输入类型数字 当它无效时 我如何从中获取值 例如 使用类型编号并仅打印 e 这本身是无效的 我正在使用 React 但我认为这个问题非常普遍 onChange event console log event target valu

随机推荐

  • 仅 Firefox 中的疯狂 CSS 问题 - 位置固定和背景颜色

    请参阅此链接 http lsp2 tpdserver2 co uk test htm http lsp2 tpdserver2 co uk test htm 在 IE Chrome 中显示良好 但在 Firefox 6 0 1 中 蓝色标题
  • 将二进制文件读入数组

    我有一个由一系列 32 位有符号整数值 小端 组成的文件 如何将其读入数组 或类似 数据结构 我试过这个 block 4 while true do local int image read block if not int then br
  • R中随机森林的并行执行

    我在 R 中并行运行随机森林 library doMC registerDoMC x lt matrix runif 500 100 y lt gl 2 50 并行执行 耗时 73 秒 rf lt foreach ntree rep 250
  • C++中的函数指针语法

    我刚刚学习 C 中的函数指针 以下示例全部编译并返回预期结果 但我被告知示例 3 是正确的方法 为什么其他示例仍然有效 还有一件事看起来很奇怪 那就是例子f g h i与上面的示例相比 这并不全部有效 与示例 1 8 相比 它们为什么不起作
  • Spark Scala 流式 CSV

    我是 Spark Scala 的新手 我知道如何加载 CSV 文件 sqlContext read format csv 以及如何读取文本流和文件流 scc textFileStream file c path filename scc f
  • 如何更改 xamarin.android 中默认显示警报的背景颜色?

    我想更改显示警报的默认背景颜色 我在不同的网站上尝试了很多问题 谁能帮我 您可以使用以下方法实现此行为Rg Plugins Popup https github com rotorgames Rg Plugins Popup为了模仿默认显示
  • Spring webflux block、flatmap 和 subscribe 的区别

    我有一个api需要调用其他3个api 第二个和第三个api调用依赖于第一个api的结果 我对执行此操作的最佳方法以及使用块 订阅和平面地图之间的区别有点困惑 所有这 3 种方法都适合我 但我不确定哪一种是最好的 这就是我目前所拥有的 web
  • 如何从 CLI 调用 gnuplot 并将输出图形保存到图像文件?

    我正在编写一个批处理文件 该文件还将从 dat 文件生成 gnuplot 图 我希望使用我编写的 gnuplot gnu 脚本从命令行调用 gnuplot 并将输出图形保存到图像中 就像是 gnuplot exe script gnu gt
  • 有人知道 eclipse 的共享待办事项列表插件吗

    有谁知道 Eclipse 的共享 TODO 列表插件允许开发团队中的所有用户查看和编辑相同的任务列表 Mylyn http www eclipse org mylyn 可用于将问题跟踪系统集成到 IDE 中 它通过使任务成为 Eclipse
  • 使用 Macro_rules 中的可选数据表示枚举变体

    我正在尝试创建一个宏来帮助处理我一直在重复编写的一些样板枚举代码 我设法使用基本的方法相对轻松地实现了一个简单的枚举 即没有参数 macro rule 例如摘录 macro rules enum helper type ident name
  • 是否可以恢复损坏的“interned”字节对象

    众所周知 小bytes 对象由 CPython 自动 驻留 类似于intern https docs python org 3 library sys html sys intern 字符串函数 更正 As 解释了 https stacko
  • Project Reactor 中的预取是什么意思?

    我正在使用 Project Reactor 并且正在使用Flux flatMapIterable https projectreactor io docs core release api reactor core publisher Fl
  • 将 Webpack 与 HTTP/2 结合使用有什么价值

    我正在开始一个新项目 并且我正在尝试前瞻性地思考它 我过去使用过 Browserify 对于我的新项目 我想使用 Webpack Rollup 或 SystemJS Webpack 看起来是迄今为止最成熟的 具有大量出色的功能 不过 我担心
  • 从 C# 中的接口创建对象

    仅给定一个接口 是否可以从中创建一个对象 就像是 var obj new IWidget 我知道这段代码是不正确的 VS 仍然无法创建 IWidget 的实例 我所处的上下文中 我的项目引用了接口 并且我想创建具体对象并从方法返回它们 但我
  • anaconda如何选择cudatoolkit

    我有多个 anaconda 环境 上面安装了不同的 cuda 工具包 环境1有cudatoolkit 10 0 130 环境2有cudatoolkit 10 1 168 环境3有cudatoolkit 10 2 89 我通过运行找到了这些c
  • 空样式 (.css/.scss) 文件

    当我创建 Angular 应用程序时 我使用 CLI 来生成组件 在开发应用程序一段时间后 我为每个组件都有样式文件 但其中大部分是空的 当我检查声纳时 空样式文件中有代码气味 删除这个空样式表 在此文件末尾添加一个空的新行 我应该删除声纳
  • 重定向到用户登录后尝试访问的页面

    一直在阅读一些内容来找到答案 但运气不太好 我有一个网站 成员可以匿名浏览该网站 但某些页面受到限制 一旦成员单击需要登录才能查看的链接 我就会将其重定向到登录页面 我面临的问题是我不知道如何将会员重定向到他们登录后试图访问的页面 他们试图
  • JavaScript 图像缩放与 CSS3 变换,如何计算原点? (举例)

    我正在尝试实现图像缩放效果 有点类似于 Google 地图的缩放效果 但具有固定位置图像网格 我已经在这里上传了到目前为止我所拥有的示例 http www dominicpettifer co uk Files MosaicZoom htm
  • 向 bison/jison 计算器语言添加函数

    我正在尝试扩展吉森计算器示例 http zaach github io jison try 具有一些简单的功能 我对解析和 bison jison 相当陌生 但这是我到目前为止所拥有的一些内容 lexical grammar lex var
  • History.js 有没有办法知道何时按下后退按钮

    我已经开始测试历史 js https github com balupton history js 在了解了它的工作原理并且没有popstate 而是有statechange 我正在寻找一种在按下浏览器后退按钮时有所不同的方法 原因是我需要