【问题标题】:how to work history.js random first state如何工作 history.js 随机第一个状态
【发布时间】:2016-03-31 10:19:43
【问题描述】:

多年来我一直在使用 history.js (html4+html5),但我遇到了一个我无法理解的问题。 实际上,当我加载需要“history.js”的页面时,有时如果我在加载时不执行“pushState”,它就不会记住这个状态(即当我使用后退按钮时它永远不会回到那个状态,它只是跳过它)。但这完全是随机的:/。有时它不需要 pushState,有时它需要它。

请问有任何已知问题吗? 感谢您的帮助。

【问题讨论】:

  • 一些代码可能会有所帮助
  • 请提供版本、jsfiddle 或邮政编码和标记,以便我们重现问题。
  • 感谢您的反应,我使用的是 html4+html5 版本,最新版本。也是最新的 jQuery 1.x。你可以在我的实时网站上看到它:luminis-films.com/films_pour_vitrages/film_occultant/… 我用它来跟踪过滤器的变化。只需使用过滤器即可查看它的实际效果。 JS被缩小了,但问题是:
  • jQuery(function($) { History.Adapter.bind(window,'statechange',function(){var state = History.getState();if (typeof(state.data.donnees) !='undefined'){liste.miseAJour(state.data.donnees)}}); History.pushState({donnees:$film_liste[0].outerHTML},document.title,window.location.href); }) ;

标签: javascript jquery pushstate history.js


【解决方案1】:

我总是在 DOM 加载时替换初始状态,没有遇到你的问题。

var initalHistory = function () {
    var State = History.getState(), data = State.data;
    if (!data.rendered) {
        History.replaceState(null, null "ExampleString");
        }
    }
History.Adapter.onDomLoad(initalHistory);

【讨论】:

    猜你喜欢
    • 2018-04-06
    • 1970-01-01
    • 2012-10-02
    • 1970-01-01
    • 2022-09-25
    • 1970-01-01
    • 2019-03-27
    • 2012-04-12
    • 2018-12-18
    相关资源
    最近更新 更多