如何检测窗口哈希的变化?

2023-12-11

如何检测到window.location.hashonchange,例如我可以这样做:

if(window.location.hash.hasChanged())
{
   // ajax stuff
}
else
{
   // nothing, no hash has been changed (without any window reload)
}

如果我更改哈希值,例如编辑并在编辑后按 Enter 键更改哈希值什么也没有发生,只有在窗口重新加载时才会检测到哈希值的变化。


最新的浏览器(FF3.6+、IE8、Chrome)支持窗口对象上的“hashchange”事件 - 请参阅MDC:window.onhashchange获取使用示例。简单的异步监听可能如下所示:

window.onhashchange = function() {
   // do something awesome here
};

如果您想要一个支持旧版浏览器的实现,事情很快就会变得复杂,我建议使用其他人的库或插件 - 查看答案对于这个问题的一些建议。

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

如何检测窗口哈希的变化? 的相关文章

  • 跨域XMLHttp请求

    这是我的情况 我有一台 Web 服务器机器 一台客户端机器和第三台运行一些侦听 XMLHttpRequest 的程序的机器 客户端从客户端计算机访问网络服务器 进行一些更改 然后单击 保存 此时 数据被发送回网络服务器和第三台机器 所有这些
  • 在 Javascript 中获取第一个数字出现后的子字符串

    我正在尝试提取第一个数字之后 并包括 的字符 ABC 123SD gt 123SD 123 gt 123 123SD gt 123SD ABC gt 我当前的解决方案如下 var string1 ABC 123SD var firstDig
  • Javascript DOM setAttribute 在函数调用中不起作用

    我有一个带有输入元素的 HTML 文件 我希望向其中添加一个名为 valid fieldset011 的新属性 该属性用作 AngularJS 验证器的链接 输入元素具有属性 id fieldset011 如果我使用以下脚本 包含在脚本标签
  • 定义 js-xlsx 单元格范围

    我正在尝试使用 js xlsx 读取 Excel 值 我可以使用以下代码从工作簿工作表中获取单元格值 if typeof require undefined XLSX require xlsx var workbook XLSX readF
  • 第一次使用node.js - “ReferenceError:节点未定义”

    我刚刚安装了node js 我尝试编写应该检查版本的node v 但它不起作用 这是输出 gt node v ReferenceError node is not defined at repl 1 2 at REPLServer self
  • ajaxStop() 不触发

    这是不起作用的代码 document ajaxStop function this unbind ajaxStop prevent running again when other calls finish Display everythi
  • Javascript - 在加载所有图像后执行

    看了别人的问题我想 window onload 会回答我的问题 我已经尝试过这个 但它会在页面加载时立即执行代码 而不是在图像加载之后 如果有什么区别的话 图像来自 CDN 并且不是相对的 有人知道解决办法吗 我没有使用 jQuery 想要
  • 创建一个简单的 10 秒倒计时

    我想要一行这样写的 Your download will begin in 10 9 8 etc Beginning on page load seconds 我已经设置了 10 秒下载文本 并且我还查看了其他 stackoverflow
  • 如何导入和导出 javascript ES6 类

    我是 javascript 和 nodejs 的新手 我正在使用这个项目来发展我的技能并学习新技术 目前我的项目使用多个相互依赖的类 类文件位于不同的目录中 我当前正在尝试使用 export 和 require 语句来允许在其他文件中引用类
  • 以一定时间间隔连续重复运行 JavaScript 函数

    这是我的第一个问题 希望您尽快回答 我想要代码连续重复一个函数 我尝试了一些代码 但没有成功 我尝试了这段代码 我想在一段时间后重复这个功能 我努力了setInterval and setTimeout 但是 我还没有收到结果 这将重复该任
  • 启用/禁用由用户输入确定的复选框

    我有一个简单的表单 用户可以在其中输入他的联系号码 如果联系号码以 07 开头 则该复选框已启用 其他我需要禁用它的复选框 我已经编写了一些代码 但我面临的问题是 当用户键入 01 时 它会被禁用 但如果他们继续在 01 之后添加任何其他数
  • 搜索深度嵌套数组以更新对象

    我有一个深层嵌套的数据结构 我有兴趣匹配数组 和数组数组 中的某个值 然后将一些数据推送到随附的数组中 例如以下是我的数组colors并伴随着的是更多颜色数组可能存在也可能不存在 var myData color green moreCol
  • 使用文件 API 将资源加载到 Three.js 中

    我想创建导入 3D 模型以在浏览器中查看的功能 方法是使用File API http www html5rocks com en tutorials file dndfiles Three js 加载器在我托管的文件上运行良好 我的理解是加
  • 在 jQuery 可排序中对多个选定项目进行排序?

    我试图在 jQuery 可排序集中选择多个项目 然后将选定的项目一起移动 这是我的弱点开始尝试使其发挥作用 http jsfiddle net benstenson CgD8Y 这是代码 HTML div class container d
  • 了解 JavaScript - 资源

    使用 StackOverflow 的微型 Digit Blog 功能进行描述here https stackoverflow com about 我想发布以下我刚刚看到的 我觉得很有趣的谷歌技术谈话视频 我一直在理解 javascript
  • 在 React Navigation 中将 props 传递给自定义抽屉导航器

    在反应导航抽屉菜单中 我想显示用户名 John Doe 它处于我的主要组件的状态 Router 我怎样才能将自定义抽屉内容组件传递给它 额外信息 我从 AsyncStorage 中获取此名称 组件已挂载 这是我的代码 export defa
  • 使用日期字符串数组在引导日期选择器中设置禁用月份不起作用

    我有一个日期选择器 其配置如下 HTML div class input group date div
  • mozilla pdf.js 没有全视图

    我喜欢这个 pdf 查看器https github com mozilla pdf js https github com mozilla pdf js Demo http mozilla github com pdf js web vie
  • 如何使用 jQuery 或 JavaScript 聚焦 或 标签?

    for var i 0 i
  • Internet Explorer 9 是否会因数组和对象文字末尾的额外逗号而卡住?

    现代浏览器和 Node js 等环境允许您说 a 1 b 2 或 1 2 3 这在历史上一直是 Internet Explorer 的问题 Internet Explorer 9 中修复了此问题吗 对此有两种不同的答案 一种是对象初始值设定

随机推荐

  • 如何引用 Lambda?

    我怎样才能推荐Lambda从它的内部 例如 如果我需要使用myLambda递归地 myLambda gt expression how can I refer to myLambda here 如果您的意思是要引用您正在定义的 lambda
  • 如何验证 MM/dd/yyyy hh:mm 格式的日期时间?

    我正在使用 MaskedEditExtender 输入日期时间 我无法弄清楚如何验证它 是否有任何正则表达式用于验证日期和时间 MM dd yyyy hh mm 或任何 JavaScript 函数 这将解决您的问题 0 1 9 1 0 2
  • 如何使用 php 在后台(非阻塞)运行程序?

    我想在php中运行一个shell脚本 但是这个shell脚本需要很长时间才能执行 它有睡眠 我不希望Web服务器在执行这个脚本时阻塞 我试过exec and shell exec 在 php 中 但服务器停止直到 shell 脚本完成 我想
  • Spring Data MongoDB - 忽略空对象

    我使用 Spring Data 和 MongoDB 来保存一些文档 保存文档时 我希望 Mongo 不包含空对象 如何 可以实现这一目标 假设我有以下主类 Document collection main doc public class
  • 如何访问从模板化控件继承的控件中的命名元素

    你好 这类似于如何在 silverlight 中访问派生用户控件的命名元素 不同之处在于继承自模板化控件 而不是用户控件 我有一个名为 MyBaseControl 的模板化控件 Xaml
  • data.table 警告 - 项目已达到尺寸,但最大尺寸为(回收后留下剩余项目)

    我正在使用 data table J 来做子集th1在 5 列上 split1 market dept size bool 3 cust poor rich 我明白我应该使用unique column name 指定该列应包含任何值 尽管我
  • 如何在散点图中绘制超过 50,000 个值,从而节省计算机资源?

    我正在使用 Visual Studio 2017 并尝试使用 C 和 winform 制作一个在散点图中显示实时值的程序 通过下面的源代码 我能够让它显示实时值 每当事件发生并且它获得新值 每秒 3 5 次 valueArray 通过 Ge
  • 无法在 Interface Builder 下拉列表中看到自定义类

    我使用的是 Xcode 6 1 1 无法从下拉列表中选择我的自定义类 因此 我认为它会导致其他几个相关问题 见下文 症状 当使用 IB 下拉菜单选择自定义类别时 不会出现任何自定义类别 IB DESIGNABLE and IBInspect
  • Blackberry Storm 中的 GPS 经纬度问题

    我在我的应用程序中编写以下代码 它将在模拟器中成功运行 但当我尝试在我的设备中运行时 它会给出纬度和经度 0 0 0 0 问题是什么 我的代码是 public class GetLatLon extends TimerTask public
  • 具有静态引用的活动

    我正在处理由其他人编写的现有 Android 代码 它有几个内存问题 我无法理解的一个问题是这一点 在主 Activity 类中 它有一个名为 getReference 的静态方法 该方法基本上返回对名为的变量的引用mThis 现在 在on
  • Angular:DOM 中的条件元素?

    在 AngularJS 中 仅当作用域变量为 true 时 如何才能使 HTML 存在 我知道有ng show指令但这对我不起作用 因为它只会使其不可见display none 但我实际上需要的是该元素仅在计算时存在于 DOM 中 像这样的
  • 递归,将带有属性的xml文件解析为treeview c#

    我目前正在开发一个项目 其中应用程序将处理 XML 文件并将其显示到 C 中的树视图中 我正在使用 Visual Studio 10 编写此代码 我无法限制属性显示的次数 我使用 foreach 循环来循环遍历它具有的每个属性并显示它 但它
  • 非玩家对象的权限转移问题

    我正在制作一款多人游戏 我想让玩家与非玩家对象交互 任何玩家都可以更改其变换 当我与第一个加入的玩家 或主持的人 交互时 它的工作正常 但如果我尝试与另一个玩家 第二个加入的玩家 交互 则对象会返回到第一个玩家离开的位置他在 所以我尝试的是
  • 关于以 0 开头的“int”数字的澄清

    public class Test public static void main String args int i 012 System out println i 为什么输出是 10 如果数字以 0 开头 则它是基数为 8 的八进制数
  • 获取 BTreeSet 的第一个成员

    在 Rust 中 我有一个BTreeSet我用它来保持我的价值观井然有序 我有一个循环应该检索并删除该集合的第一个 最低 成员 我正在使用克隆迭代器来检索第一个成员 这是代码 use std collections BTreeSet fn
  • 如何将平面 xml 数据转换为分层数据 xml

    我必须将平面 xml 转换为分层 xml 我对这个任务一无所知 下面是转换的输入 Input p class title Article Title p p class Authors abc pqr and xyz p p class i
  • 如何从 Java Web 服务访问 .properties 文件

    我已经使用 tomcat 成功部署了 java web 服务 此 Web 服务正在访问配置文件 Properties 我已将 config properties 文件放置在以下目录中 C Program Files Apache Softw
  • ajax的刷新问题

    I used flush 在我的 php 页面中无限循环运行函数 它每秒回显一个文本 当我在浏览器中打开页面时 它可以工作 但是当我通过 jquery ajax 加载它时它没有响应 php page jquery代码 a
  • 正则表达式匹配 mm/dd/yyyy hh:mm:ss AM 或 PM

    我有一个为时间戳创建信息的程序 时间戳必须符合以下格式 MM DD YYYY HH MM SS AM or PM 例如 06 02 2016 10 14 56 AM 09 14 2014 9 16 32 PM 我需要一种方法来使用更好的正则
  • 如何检测窗口哈希的变化?

    如何检测到window location hashonchange 例如我可以这样做 if window location hash hasChanged ajax stuff else nothing no hash has been c