问题标签 [html5-history]

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 投票
1 回答
2565 浏览

javascript - History.pushState 和遍历历史 - PhoneGap/Android

我正在为客户编写一个 Android 应用程序。我一直在使用自己的框架来创建应用程序。

这个框架在 iPhone 上运行没有问题,但是当我将它应用到 Android/Phonegap 时,我遇到了后退按钮的问题。我的解决方案是调用 History 对象以在查看不同页面时创建项目。这段代码的要点如下:

我的 onpopstate 函数:

因此,这会正确添加项目。但是,如果我在历史记录中说三个级别 ( home, listings-> view_listing) 并从中按回,view_listing我将被带到该listings部分,这是正确的,但是任何进一步的按都会使我处于listings,它不会再向后移动。

当我在刚刚解释的导航步骤之后查看日志时,我看到了这些虚假项目:

我应该添加它以访问不同的页面,hook_call()例如在点击列表或按下按钮时调用。

这种情况适用于通过应用程序进行导航的任何其他组合。

有没有人有这方面或类似的经验?

0 投票
1 回答
682 浏览

url-rewriting - history.js 从 url 中删除查询参数

我正在为我的 ajax 网站使用history.js 。我无法意识到的一件事是如何将 url 从http://mysite/default.aspx?myparam=paramvalue使用http://mysite/History.pushState 更改?

如何摆脱 default.aspx?myparam=paramvalue?

我试过 `History.pushState('','','/'); 这没用

谢谢队友

0 投票
3 回答
3466 浏览

html - HTML5 History API:“返回”到另一个页面时显示 JSON,然后再次“转发”

我有一个页面,其中有几个搜索/过滤按钮,单击这些按钮时,会通过 AJAX 刷新下面列表的内容。

在此过程中,我正在修改历史记录(通过 pushstate),以便新过滤的页面可以添加书签,因此后退按钮可以使用。我也在监听 popstate 事件,对 Back 做出反应。

我的代码看起来或多或少是这样的:

这非常有效,除了一个奇怪的情况......

  • 用户在页面“A”中
  • 他们点击一个链接进入这个播放历史的页面(我们称之为“B”)
  • 他们运行了几个过滤器,然后按了几次 Back,所以他们回到了“B”的初始状态
  • 他们再次单击返回,这会将他们发送回“A”
  • 此时,如果他们按下 Forward,浏览器不会再次向服务器请求页面“B”,而是简单地显示一堆 JSON 代码作为页面内容(这个 JSOn 是我的一个 AJAX 请求的响应过滤东西)

至少在最新的 Chrome 中

为什么会发生这种情况,我该如何避免?

0 投票
0 回答
231 浏览

html - 有没有像“onpathchange”这样的东西?

当使用 javascript 使用哈希片段进行 url 操作时,您可以使用 event.xml 简单地检测 url 片段部分中的所有更改onhashchange。有没有类似的方法可以使用 HTML5 历史 API 来检测 url 的路径部分的变化?

我知道,我可以覆盖处理对锚元素的点击,覆盖后退按钮的行为,但是如果用户手动编辑 url 怎么办?

0 投票
2 回答
3191 浏览

jquery - 如何在后退按钮单击时反转 AJAX 操作?

我试图找出历史 API,但在阅读文档后,我几乎什么都不懂。

例如,我有以下 AJAX:

以下浏览器 URL 操作:

这个我明白。点击某物,更改网址。单击返回,将 url 更改回来。

但我想,如果在 AJAX 单击后单击后退按钮,我希望 AJAX 调用被反转。在这种情况下,这将是结果 div 再次为空,或者如果您单击了几个内容然后单击返回,则要加载以前的内容。

我将如何实现这种效果?

0 投票
1 回答
1200 浏览

html - 仅 HTML5 模式的 History.js 与 window.history

History.js 现在是否比 HTML5 提供任何实质性的优势window.history?我们对支持/退回到 HTML4 hashbang URL 不感兴趣。

History.js不支持锚点pushState(),而支持window.history。我们需要这个特性,所以如果没有很大的理由window.history在 HTML5-only 模式下使用 History.js 而不是原生,我们宁愿选择后者。

0 投票
2 回答
218 浏览

javascript - 如何使用 html5 历史 API 阻止标签加载新页面

我正在尝试在换出内容后更改 url的历史 api,并且遇到了阻止 a 标签加载新页面的问题。到目前为止,当您单击一个按钮时,它会在页面中加载请求的内容,然后加载存储请求的内容的页面。关于如何阻止这种情况并获得包含新内容和可以共享的新网址的网页结果的任何建议?

这是JS。

http://bonkmas.com/historytest/

0 投票
1 回答
1579 浏览

javascript - 触发popstate时刷新页面一次?

我有一个长页面,通过scrollTop().

因为 scrollTop() 不能与浏览器的后退按钮正常工作(浏览器忽略它)我想尝试在每个 popstate 上刷新浏览器,然后它会工作并且用户滚动位置将是它应该在的位置。

问题是我的代码导致无限刷新。

如何修复它只刷新一次?我试过one()但它是一样的。

0 投票
2 回答
2219 浏览

javascript - 有没有办法通过 history.js 判断状态的发展方向?

就像标题说的那样,如果调用函数而不是函数,我希望能够执行不同的onstatechange事件。或者,如果函数是负数或正数。pushStatebackgo

例子:

如果History.pushState()或被History.go(1)调用,我希望statechange事件的回调是forwardPushState

如果History.back()或被History.go(-1)调用,我希望statechange事件的回调是backwardsPushState

0 投票
1 回答
5426 浏览

javascript - 获取上一页 phonegap javascript

如何在 phonegap 上使用 javascript 获取上一页?

只有当我来自一个特定的 html 文件时,我才想返回 ( window.history.back()),否则我想在按下返回按钮时转到另一个 html 页面。所以我想知道哪一页是历史的上一页。

我已经在谷歌上搜索了一段时间,但没有找到适合我的答案。