window.onpopstate 不起作用;当我导航回页面时没有任何反应

2024-01-03

我正在尝试添加window.onpopstate在我网站的其中一个页面上,但什么也没有发生。我把这个脚本放在页面上:

<script type="text/javascript">
  window.addEventListener('popstate', function(event) {
    if (event.state) {
      alert(event.state);
    }
  }, false);
</script>

我也尝试过:

<script type="text/javascript">
  window.onpopstate = function() {
    alert("popped!");
  }
</script>

但是,当我导航回该页面时,我没有收到任何警报。


你得到一个popstate仅当您添加一个或多个历史条目并且稍后用户单击back浏览器中的按钮。

通过向浏览器历史记录中添加条目,您可以更改 URL(就像用户导航到另一个页面一样),但无需实际加载新页面。

您添加历史记录条目pushState method:

history.pushState({}, '', '/newpage');

当您添加一个条目并且用户单击backURL 切换回前一个,但该地址的页面未加载。 Apopstate相反,事件被触发。

See https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulated_the_browser_history https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history


例外情况:

较旧的浏览器不支持popstate事件和浏览器历史记录的操作。

某些浏览器(例如 Safari)会触发popstate页面实际加载时也会发生事件。

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

window.onpopstate 不起作用;当我导航回页面时没有任何反应 的相关文章

  • TypeError:req.checkBody 不是包含 bodyparser 和expressvalidator 模块的函数

    我收到错误 req checkBody 不是一个函数 我认为我已经包含了express validator和body parser 这是我的代码 var express require express var bodyParser requ
  • JavaScript 日期 + 7 天

    这个脚本有什么问题 当我将时钟设置为 29 04 2011 时 它会添加2011年4月36日在星期输入 但正确的日期应该是6 5 2011 var d new Date var curr date d getDate var tomo da
  • 如何从模板脚本访问 AngularJS 变量

    我的控制器 scope totals totals 我的模板 按 html 注入的预期工作 totals 但我需要的是访问变量totals在模板的脚本中 如下所示 我试过了 scope totals totals totals 等 均无济于
  • JavaScript 中的“this”如何工作?

    我知道还有其他几篇关于这个主题的帖子 但它们仍然让我感到困惑 我已经包含了 jQuery 和所有内容 我有一个简单的 javascript 类 如下例所示 function CarConstructor this speed 19 in m
  • 如何在 jquery 上并排区分 mouseout/leave 事件?

    有没有办法知道鼠标事件是否已从元素的特定一侧离开 我的意思是 我有一个带有 mouseover mouseenter 事件的 DIV 并且我只想在鼠标离开到元素的左侧时触发该操作DIV 并向右 但如果它从底部或顶部离开 则不应触发任何操作
  • 我在 firebase.auth.ApplicationVerifier 中遇到问题

    错误发生在signInWithPhoneNumber 的第二个参数中 我无法解决这个问题 我使用了三种方法来发送 otp 验证 otp 和最后用于验证码 methods sendOTP e e preventDefault if this
  • 转义双引号 JavaScript

    我试图在 iPhone 上查看时运行某种图像格式 在其他情况下运行一些 Flash 视频 var uagent navigator userAgent toLowerCase if uagent search iphone gt 1 doc
  • 如何观察Firebase存储上传事件

    我有一个将照片上传到 Firebase 存储的 iOS 应用程序 以及一个连接到同一个 Firebase 的 Web 应用程序 有没有办法从网络上观察存储的变化 当上传照片时 只有iOS设备本身可以访问UploadTask 并且我没有看到o
  • 这个作用域/闭包什么时候在 javaScript 中被垃圾回收?

    我正在做一门课程 该课程正在讨论范围 闭包并简要提到垃圾收集 课程中提出一个问题 范围保持多久 答案是 直到 不再有任何提及它 是的 所以我们基本上说的是 是的 闭包有点像对隐藏范围对象的引用 所以只要有一些函数仍然有一个闭包 范围 该范围
  • 如何使用 JavaScript 或 jQuery 获取 html 元素的比例值?

    我想知道如何获得元素的比例值 我努力了 element css webkit transform 返回matrix scaleX 0 0 scaleY 0 0 有没有办法得到scaleX and scaleY only 找出文档和元素之间的
  • 如果我想让我的网站跨平台兼容和屏幕阅读器兼容,我应该避免使用 javascript 、 jquery 、 flash 、 ajax 、 silverlight 吗?

    如果我想让我的网站跨平台兼容 PC iPHONE 其他手机 PDA 和 Accessible 兼容屏幕阅读器 我是否应该避免使用 JavaScript jQuery flash Ajax Silverlight 我应该只使用 xhtml c
  • 如何将对象传递给 onclick 事件[重复]

    这个问题在这里已经有答案了 可能的重复 Javascript 循环内的事件处理程序 需要闭包吗 https stackoverflow com questions 341723 event handlers inside a javascr
  • jsx转js后dom未定义错误

    我创建了一个 jsx 文件 如下所示 jsx dom function use strict define jquery react react dom function React ReactDOM var AppView React c
  • Cordova/Phonegap 通过 JavaScript 在应用程序浏览器中打印

    我想从我正在开发的 iPad 应用程序打印一页 或某些页面 应用程序启动时所做的第一件事是通过以下代码加载外部网站 window location https 我现在想从这个外部网站打印一些东西 在 iPad 上的 Safari 中效果很好
  • 哪个 SVG/SMIL DOM 元素具有“beginElement”方法?

    最终 这是针对将在 Firefox 中运行的 Kiosk 风格的应用程序 使用 jQuery 1 6 4 因此答案可能是特定于 Firefox 的 我正在尝试制作动画 SVG 但我正在尝试通过动态插入 SMIL 来为其设置动画 我没有看到任
  • HTML Canvas:如何绘制翻转/镜像图像?

    当我在 HTML 画布上绘制图像时 我试图翻转 镜像图像 我发现一个游戏教程显示了角色必须面对的每个方向的精灵表 但这对我来说似乎不太正确 特别是因为每个框架都有不同的尺寸 实现这一目标的最佳技术是什么 我尝试致电setScale 1 1
  • 为什么 JavaScript 在不同浏览器中不一致?

    在花了无数个小时修复 JS 以使其跨浏览器兼容 主要是 IE 之后 我一直在思考以下问题 Why不是 JavaScript持续的跨浏览器 我的意思是 为什么 JS 不能像 Java 和 Flash 那样好呢 相反 我们必须求助于 jQuer
  • 不透明的回复有哪些限制?

    不透明的回应 https fetch spec whatwg org concept filtered response opaque被定义为一部分获取API https fetch spec whatwg org 并表示向远程源发出请求的
  • 如何禁用 AngularJS 中输入的修剪?

    我发现了一些奇怪的行为 默认情况下角度修剪模型值 快速谷歌搜索并不能帮助我解决这个问题 我发现了ng no trim指导性建议 ng trim等等 但没有任何作用 我在下面提供了一个代表这个问题的小片段 function Ctrl scop
  • JS 中的展开/休息运算符如何工作? [复制]

    这个问题在这里已经有答案了 我正在努力完全理解扩展 休息运算符在 JS 中的工作原理 我已经阅读了 MDN 文档 但我仍然不完全清楚 我在下面提供了一个示例 我在其中使用了它并且它按预期工作 const users name Samir a

随机推荐

  • Razor 对通用扩展方法的支持

    关于 Razor 视图引擎 假设我想渲染Html TextBoxFor
  • 在 PHP 中将指数转换为整数[重复]

    这个问题在这里已经有答案了 可能的重复 在php中将指数数转换为小数 https stackoverflow com questions 4461444 convert exponential number to decimal in ph
  • 如何清理精灵而不覆盖其他东西?

    我正在尝试在 pygame 中制作俄罗斯方块 并且发生了碰撞和移动 但是当遮罩与放置的块碰撞时 我用来覆盖旧精灵的矩形覆盖了放置的精灵的部分 def replace self pygame draw rect board surface 0
  • 如何实现iOS应用内购买动态价格图书?

    我开发了一个 iOS 应用程序 用户可以购买有声读物 从而可以在应用程序内进行流式传输和下载 我已经集成了 Authorize net 支付网关 被苹果拒绝了 说 11 2 使用应用内购买 API IAP 以外的系统来购买应用中的内容 功能
  • Symfony 5 security.interactive_login 事件未调用

    我想使用security interactive login更新我的用户的上次登录字段的事件 活动注册成功 php bin console debug event dispatcher security interactive login
  • 如何用Java计算Azure存储容器大小?

    虽然以下链接详细介绍了使用 C 计算存储大小的方法 但我在 Java 中没有看到类似的方法 如果有人可以发布 Java 示例代码 我将不胜感激 Azure 存储容器大小 https stackoverflow com questions 1
  • 如何获取 SQLite 数据库表中的列列表?

    我正在寻找检索表中的列列表 该数据库是最新版本的 SQLite 我相信是 3 6 我正在寻找使用 SQL 查询执行此操作的代码 与列相关的元数据的额外奖励点 例如长度 数据类型等 您要查找的内容称为数据字典 在 sqlite 中 可以通过查
  • xrange 与 itertools.count Python 2.7

    我想运行从开始值到结束值的范围 它在较小的数字上工作正常 但当它变得太大时 会导致溢出错误 因为 int 太大而无法转换为 C Long 我正在使用Python 2 7 3 我在这里读到OverflowError Python int 太大
  • 如何在Spring Data JPA中执行AND和多个OR参数方法

    我正在尝试为此查询制定方法名称 Query from Employees where department 1 and fullTime true or contractor true or subContractor true 我认为这种
  • 抑制 C 警告“未使用的变量 x”的最佳方法? [复制]

    这个问题在这里已经有答案了 抑制 C 编译器 例如 GCC 如 未使用的变量 x 警告的最佳 最巧妙的方法是什么 GCC 文档解释 Wunused 变量每当局部变量或非常量静态变量除了其声明之外未使用时发出警告 我不想给我的编译器任何特定的
  • py2exe:由于 DLL,编译的 Python Windows 应用程序将无法运行

    我承认我对 Python 还很陌生 而且我还不知道自己在做什么 最近 我使用 Python 2 6 2 和 wxPython 2 8 创建了一个非常小的 Windows 应用程序 而且效果很好 我对它正常运行的情况感到非常满意 通常我的意思
  • C - IF(char[] == "ZYX") 不起作用

    我从arduino发送到arduino字符串 I2C 捕获并保存到char 10 当我将此变量与文本进行比较时 条件没有执行 而且我不知道为什么 char dataRx 10 void DaemonReceiving int howMany
  • 当外字段是数组时 MongoDB 查找

    我搜索过互联网和 StackOverflow 但找不到答案 甚至找不到问题 我有两个收藏 reports and users 我希望我的查询返回所有报告 并指示指定用户是否将该报告作为其数组中的最爱 报告收集 id 1 name Repor
  • Android 虚拟设备管理器因“双重释放或损坏”而崩溃

    当我尝试运行任何模拟器时 我得到 Android 虚拟设备崩溃 https i stack imgur com bmI8A png 我玩 Android studio 的控制台说 Error in home standy Android S
  • 我的 python 代码不将视频帧保存为图像

    我正在尝试抓取视频中的特定帧 例如帧 0 10 20 并使用 Python 和 CV2 将它们保存为图像 由于某些原因 我的代码只保存第一帧 所有其他帧均已创建 但大小为 0 它们已损坏 我该如何解决这个问题 import cv2 from
  • Django Forms,为 request.user 设置初始值

    是否有某种方法可以使以下操作成为可能 或者应该在其他地方完成 class JobRecordForm forms ModelForm supervisor forms ModelChoiceField queryset User objec
  • 实体类型没有定义键 - 代码优先

    我是 MVC 和实体框架的新手 我搜索了很多并发现了一些类似的问题 例如实体类型没有定义键 https stackoverflow com questions 6290511 entity type has no key defined 但
  • ASP.NET-MVC jQuery 不显眼的远程验证返回误报

    我又回到了 9 个月前我最后一次参与的项目 查看了我们编写的一些代码 希望现在有更好的方法来做到这一点 虽然最初对 jQuery 不显眼的验证印象深刻 但我们最终不得不将下面的 hack 组合在一起 部分基于我现在无法动手的博客文章 来处理
  • 如何在 django 中创建并强制执行通用的 OneToOne 关系?

    我想要与完全相同的东西django contrib contenttypes generic GenericForeignKey but OneToOne代替ForeignKey 我认为一个简单的 尽管有点不优雅 的解决方法是添加uniqu
  • window.onpopstate 不起作用;当我导航回页面时没有任何反应

    我正在尝试添加window onpopstate在我网站的其中一个页面上 但什么也没有发生 我把这个脚本放在页面上 我也尝试过 但是 当我导航回该页面时 我没有收到任何警