问题标签 [hashchange]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4926 浏览

javascript - Javascript锚导航

我正在创建一个带有“锚导航”的网站,就像与 facebook 和 google 邮件一起使用的那样。我已经让它工作了,但不完全。当我加载页面时#contact,除非我单击它的链接,否则它不会加载它。另外,是否有更好、更有效的方法来做我正在做的事情?我不是 JS 编程的最佳人选。

JavaScript

HTML:

0 投票
7 回答
62057 浏览

javascript - 处理 Javascript 中的 URL 片段标识符(锚点)更改事件

如何编写将在 URL 片段标识符(锚点)的任何更改上执行的 Javascript 回调代码?

例如从http://example.com#ahttp://example.com#b

0 投票
6 回答
21004 浏览

javascript - 在 JQuery 中执行 URL 哈希/历史记录的最佳库是什么?

我一直在寻找 URL 哈希的 JQuery 库,但没有找到好的。有“历史插件”,但我们都知道它有问题并且不灵活。

我正在将我的页面加载到一个 div 中。我需要一种方法来进行反向/转发以及 url 散列。

可以处理所有这些的最好的库是什么?

0 投票
1 回答
2384 浏览

ajax - 如何让返回按钮与锚点 (#) 和 iframe 一起使用

我在一个网站上工作,它的主要部分由 ajax 风格的导航系统驱动,使用 url 中的锚来定义应用程序状态。

最重要的是,我现在需要支持在此应用程序之上加载的 IFrame。我遇到的问题是,如果我使用片段,后退按钮会中断。

我创建了一个非常简单的示例,它没有使用任何 ajax 库。它所拥有的只是一个将锚点添加到 url 和 iframe 的链接,其中包含一些普通链接。

如果我先单击然后锚链接,然后单击 iframe 中的链接,我希望第一次返回单击返回到原始 iframe 页面,第二次单击从 url 中删除锚。

我知道所有各种解决方案(YUIreallysimplehistoryjquery 插件),它们都工作得很好,但它们不适合 iframe。

我也知道我可以向框架页面添加一些 JS,并可能通过父页面路由所有导航,但我希望这不是必需的。

所以问题是,谁能解释这个 示例中历史对象内部发生了什么?其次,我可以从父 iframe 做些什么来哄骗历史对象来获取这些导航条目?

注意:我只是在这个示例中询问 FF/Safari/Chrome。IE需要单独看。

0 投票
2 回答
2131 浏览

ajax - 将 url 重定向到 # (anchor)

我有一个网站,我刚刚转换为使用锚导航..

hwww.site.com/shows 现在是 www.site.com/#shows

它将 /shows 目录中的信息加载到一个 div 中,并添加哈希标签来告诉你你在哪里。

问题是,如果您访问 www.site.com/shows,内容仍然存在,但没有样式。我怎样才能让它重定向而不进入无限循环的重定向?

我确定我解释得很糟糕,希望你们能明白。

0 投票
6 回答
14476 浏览

javascript - JavaScript/jQuery - onhashchange 事件解决方法

在所有浏览器都支持 onhashchange 事件之前,最好的解决方法是什么?

jQuery中有什么东西吗?还是作为插件?

0 投票
12 回答
175076 浏览

javascript - jQuery - hashchange 事件

我在用:

将函数绑定到哈希更改事件。这似乎在 IE8、Firefox 和 Chrome 中有效,但在 Safari 中无效,我认为在早期版本的 IE 中无效。对于这些浏览器,我想禁用使用哈希和hashchange事件的 JavaScript 代码。

有没有办法使用 jQuery 来检测浏览器是否支持该hashchange事件?也许有什么jQuery.support...

0 投票
5 回答
3924 浏览

ajax - 如何为使用 AJAX 获取的页面或内容“添加书签”?

如何为使用 AJAX 获取的页面或内容“添加书签”?

看起来如果我们只是将细节添加到“锚点”中,然后,使用路由甚至在 PHP 代码或 Ruby on Rails 的 route.rb 中捕获该部分,然后显示内容或页面,这似乎很容易因此?(显示整个页面或部分内容)

那么它可以很简单吗?看起来这就是facebook的做法。还有什么其他好的方法可以做到吗?

0 投票
2 回答
3813 浏览

javascript - 通过 JavaScript 或 jQuery 停止在 hashchange 事件上加载图像

我正在使用jQuery BBQ: Back Button & Query Library插件来创建一个页面,该页面在单击链接时会引入动态内容。单击链接时,哈希值会更改并拉入新内容(因此禁用了单击 href 的“默认”操作。)

那部分工作得很好,但是有一个问题。

我的问题示例


假设“主页”页面中有一个 DIV,其中包含许多图像和一个链接列表......

  • 第一页
  • 第二页
  • 第三页

图像可能需要一段时间才能加载,同时用户通常不会等待它们完全加载并单击“第一页”链接。

这会清除“主页”页面的内容并加载“第一页”内容。这很好用。

问题是即使用户已经从“主页”页面移动,来自“主页”页面的图像仍在浏览器中加载。

我知道发生这种情况是因为页面实际上并没有改变,而且我正在使用 BBQ 插件的 hashchange hack,但我想知道 JavaScript 中是否有办法告诉当前加载的所有图像在hashchange事件上停止?

?? 示例代码就像...


0 投票
3 回答
2037 浏览

jquery - jQuery 历史插件可以在 Chrome 中使用吗?

据说jQuery 历史插件 ( http://www.mikage.to/jquery/jquery_history.html ) 可以与 Chrome 一起使用:

http://github.com/tkyk/jquery-history-plugin

支持的浏览器 IE6, IE7, IE8, Firefox3, Safari4, Safari5, Chrome4, and Chrome5

但是当我转到上面提到的顶部链接时,如果我单击加载 1,加载 2,然后加载 3,则返回按钮会将 URL 的哈希部分更改为#2,但“加载的 html:”部分仍然显示“3 “……有人知道为什么吗?