【问题标题】:Need some explaination about history.js by Benjamin需要 Benjamin 对 history.js 的一些解释
【发布时间】:2013-01-24 18:25:59
【问题描述】:

目前我正面临 ajax URL 更改问题。

假设我有一个 ajax 调用,当用户单击 div 并且 div 将展开并且 ajax 从 db 获取数据但 url 没有改变。

然后我在 firefox 网站上找到了关于 html5 history api 的信息。在页面底部推荐history.js 以解决跨浏览器问题。

然后,我发现jquery-history.jsjquery-ajaxy,天哪,为什么会有这么多版本?

有什么我必须使用的建议吗? 我想要的是我所有的ajax调用

  • 确实提供网址更改
  • 后退/下一个浏览器按钮
  • 使用 HTML5 api
  • 不要在意旧浏览器
  • 不关心 IE
  • 这是真的没有完全重新加载页面,但不仅仅是假的。

我正在使用 jquery。

【问题讨论】:

  • 拜托,我需要答案来学习这个紧急的!
  • 您要更改哈希还是完整的 URL 更改?对于现代浏览器的完整 URL 更改,我建议只使用 window.history 本身,因为它并不难。我尝试使用history.js,但它让事情变得更加困难,而且它没有得到积极的维护。我会确保通过 Modernizr 阻止不支持它的浏览器。 developer.mozilla.org/en-US/docs/DOM/…
  • @JonathanOng 我不想使用哈希更改,因为我的目标是现代浏览器。是的,我在 [mozilla 站点] (developer.mozilla.org/en-US/docs/DOM/…) 找到了 window.history,滚动到最底部。建议使用 history.js 来克服跨浏览器。是的,我希望它可以在跨浏览器中工作。
  • 几乎没有交叉兼容性问题。它们列在 history.js wiki 和 mdn 页面中。
  • 好的,那我就用window.history。谢谢

标签: jquery ajax html pushstate history.js


【解决方案1】:

如果您是 care about URLs 和 noscript 客户端,那么只需创建一个非 AJAX 站点并使用 jquery-pjax 对其进行增强。

如果您不在乎,那么只需使用哈希。

【讨论】:

  • 我不关心 noscript 客户端,这意味着我的网站总是需要 js 才能运行。我也找到了 pjax,但这就像假页面重新加载?我对吗?我是新来的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多