2

我需要使用 history.js 插件。

我整理了一个简短的页面来测试功能 - http://www.salesmelbourne.com/

目前我正在努力解决以下问题:

  1. 后退/前进按钮不会重新加载 AJAX div - 这是我没有添加的额外 history.js 函数还是我需要自己编写代码?或两者。

  2. 我注意到标题更新时它会闪烁 - 我相信它会简要显示页面元标题。我可以让这顺利吗?

  3. IE(我使用的是版本 9)在每个页面更改上显示一个弹出框,上面写着“来自网站的消息” - 有点像错误 - 我可以以某种方式对此进行排序吗?

  4. 同样在 IE(HTML4 浏览器)下,我得到 'suid=13383514298760299522541335484' 等。我不明白我为什么需要这个 - 我可以删除 suid 吗?

非常感谢

4

3 回答 3

4

要回答您的问题: 1) 是的,您需要将 history.js 与您的代码联系起来。History.js 会记住你传递给它的任何参数,等等,但当然,你可以对这些参数做些什么。

2)需要看看你指的是什么。我的实现没有“刷新”页面,但话又说回来,我没有使用 history.js 的“标题”功能。有关相关信息,请参见下面的第 4 点。我敢打赌,您的实现会加载页面两次,每次您返回/前进时。

3) 我使用 IE9 并没有收到任何此类警报。提供有关其内容的更多信息。如果这是一条错误消息,那么很可能您的代码中有 Javascript 错误。

4) 当你使用 History.pushState(data, title, url) 的 data & title 参数时,suid 参数出现在非 HTML5 浏览器(如 IE9)中。我的 history.js 实现只使用 url 参数,因此我执行 History.pushState(null, null, url) 并且 suid 没有出现在 IE9 中。

于 2012-07-30T18:09:00.217 回答
3

3.IE(我使用的是版本 9)在每个页面更改上显示一个弹出框,上面写着“来自网站的消息” - 有点像错误 - 我可以以某种方式对此进行排序吗?

原因:您需要从代码中删除“History.log()”...在 IE 中,此 History.log 正在将日志输出写入警报框...

于 2012-10-27T13:09:51.913 回答
-10

history.js 插件不能很好地工作......这是一个好主意,我仍然会感谢作者的尝试,但几乎没有一个案例站点使用它:

https://github.com/browserstate/history.js/wiki/Showcase

而 HTML4 支持只会给我 IE 错误。

如果您正在寻找这样的解决方案,我的建议是编写您自己的解决方案以适合您构建的网站...

于 2012-05-31T09:27:57.400 回答