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

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(使用前将#替换为@)

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

随机推荐

  • 如何引用 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