问题标签 [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.
javascript - Javascript锚导航
我正在创建一个带有“锚导航”的网站,就像与 facebook 和 google 邮件一起使用的那样。我已经让它工作了,但不完全。当我加载页面时#contact
,除非我单击它的链接,否则它不会加载它。另外,是否有更好、更有效的方法来做我正在做的事情?我不是 JS 编程的最佳人选。
JavaScript:
HTML:
javascript - 处理 Javascript 中的 URL 片段标识符(锚点)更改事件
如何编写将在 URL 片段标识符(锚点)的任何更改上执行的 Javascript 回调代码?
例如从http://example.com#a
到http://example.com#b
javascript - 在 JQuery 中执行 URL 哈希/历史记录的最佳库是什么?
我一直在寻找 URL 哈希的 JQuery 库,但没有找到好的。有“历史插件”,但我们都知道它有问题并且不灵活。
我正在将我的页面加载到一个 div 中。我需要一种方法来进行反向/转发以及 url 散列。
可以处理所有这些的最好的库是什么?
ajax - 如何让返回按钮与锚点 (#) 和 iframe 一起使用
我在一个网站上工作,它的主要部分由 ajax 风格的导航系统驱动,使用 url 中的锚来定义应用程序状态。
最重要的是,我现在需要支持在此应用程序之上加载的 IFrame。我遇到的问题是,如果我使用片段,后退按钮会中断。
我创建了一个非常简单的示例,它没有使用任何 ajax 库。它所拥有的只是一个将锚点添加到 url 和 iframe 的链接,其中包含一些普通链接。
如果我先单击然后锚链接,然后单击 iframe 中的链接,我希望第一次返回单击返回到原始 iframe 页面,第二次单击从 url 中删除锚。
我知道所有各种解决方案(YUI、reallysimplehistory、jquery 插件),它们都工作得很好,但它们不适合 iframe。
我也知道我可以向框架页面添加一些 JS,并可能通过父页面路由所有导航,但我希望这不是必需的。
所以问题是,谁能解释这个 示例中历史对象内部发生了什么?其次,我可以从父 iframe 做些什么来哄骗历史对象来获取这些导航条目?
注意:我只是在这个示例中询问 FF/Safari/Chrome。IE需要单独看。
ajax - 将 url 重定向到 # (anchor)
我有一个网站,我刚刚转换为使用锚导航..
hwww.site.com/shows 现在是 www.site.com/#shows
它将 /shows 目录中的信息加载到一个 div 中,并添加哈希标签来告诉你你在哪里。
问题是,如果您访问 www.site.com/shows,内容仍然存在,但没有样式。我怎样才能让它重定向而不进入无限循环的重定向?
我确定我解释得很糟糕,希望你们能明白。
javascript - JavaScript/jQuery - onhashchange 事件解决方法
在所有浏览器都支持 onhashchange 事件之前,最好的解决方法是什么?
jQuery中有什么东西吗?还是作为插件?
javascript - jQuery - hashchange 事件
我在用:
将函数绑定到哈希更改事件。这似乎在 IE8、Firefox 和 Chrome 中有效,但在 Safari 中无效,我认为在早期版本的 IE 中无效。对于这些浏览器,我想禁用使用哈希和hashchange
事件的 JavaScript 代码。
有没有办法使用 jQuery 来检测浏览器是否支持该hashchange
事件?也许有什么jQuery.support
...
ajax - 如何为使用 AJAX 获取的页面或内容“添加书签”?
如何为使用 AJAX 获取的页面或内容“添加书签”?
看起来如果我们只是将细节添加到“锚点”中,然后,使用路由甚至在 PHP 代码或 Ruby on Rails 的 route.rb 中捕获该部分,然后显示内容或页面,这似乎很容易因此?(显示整个页面或部分内容)
那么它可以很简单吗?看起来这就是facebook的做法。还有什么其他好的方法可以做到吗?
javascript - 通过 JavaScript 或 jQuery 停止在 hashchange 事件上加载图像
我正在使用jQuery BBQ: Back Button & Query Library插件来创建一个页面,该页面在单击链接时会引入动态内容。单击链接时,哈希值会更改并拉入新内容(因此禁用了单击 href 的“默认”操作。)
那部分工作得很好,但是有一个问题。
我的问题示例
假设“主页”页面中有一个 DIV,其中包含许多图像和一个链接列表......
- 第一页
- 第二页
- 第三页
图像可能需要一段时间才能加载,同时用户通常不会等待它们完全加载并单击“第一页”链接。
这会清除“主页”页面的内容并加载“第一页”内容。这很好用。
问题是即使用户已经从“主页”页面移动,来自“主页”页面的图像仍在浏览器中加载。
我知道发生这种情况是因为页面实际上并没有改变,而且我正在使用 BBQ 插件的 hashchange hack,但我想知道 JavaScript 中是否有办法告诉当前加载的所有图像在hashchange事件上停止?
?? 示例代码就像...
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 “……有人知道为什么吗?