Jquery History.js与美国
有人能给我解释一下美国的情况吗 例如,使用插件 我理解最后一个参数,因为它是推送到地址栏的URL,但我不知道前两个参数。了解这些将有助于我在我的站点中实现history.js,因为我在向后/向前导航方面遇到了问题 网站上说: 状态对象-状态对象是一个JavaScript对象,与pushState()创建的新历史记录条目关联。每当用户导航到新状态时,都会触发popstate事件,并且该事件的state属性包含历史记录条目的state对象的副本。 状态对象可以是任何可以序列化的对象。由于Firefox将状态对象保存到用户的磁盘,以便用户重新启动浏览器后可以恢复它们,因此我们对状态对象的序列化表示形式施加了640k个字符的大小限制。如果将序列化表示形式大于此值的状态对象传递给pushState(),则该方法将引发异常。如果您需要更多的空间,建议您使用sessionStorage和/或localStorage 状态只是使用AJAX加载的代码的副本吗?或者它只是该代码的一种表示,因此可以调用它Jquery History.js与美国,jquery,ajax,html,browser-history,history.js,Jquery,Ajax,Html,Browser History,History.js,有人能给我解释一下美国的情况吗 例如,使用插件 我理解最后一个参数,因为它是推送到地址栏的URL,但我不知道前两个参数。了解这些将有助于我在我的站点中实现history.js,因为我在向后/向前导航方面遇到了问题 网站上说: 状态对象-状态对象是一个JavaScript对象,与pushState()创建的新历史记录条目关联。每当用户导航到新状态时,都会触发popstate事件,并且该事件的state属性包含历史记录条目的state对象的副本。 状态对象可以是任何可以序列化的对象。由于Firefo
对此有任何见解都将不胜感激 状态对象是任何Javascript对象—它可以是单个变量,也可以是函数和值的巨大哈希映射。它是任何你想用来表示你的应用在那个时间点的“状态”的数据。类似这样的情况很常见:
var viewModel = {
title: 'FAQs',
url: 'faqs.html',
favouriteColor: 'green',
stepsCompleted: 4
};
history.pushState(viewModel, viewModel.title, viewModel.url);
这基本上就是创建一个对象,其中包含“记住”并在以后恢复状态所需的任何内容—例如,如果用户正在遵循向导式的分步形式或类似的方式
第二个参数,
title
,目前浏览器基本上忽略了它,但它可能用于向前/向后导航等需要更新页面标题的用例。因此,示例viewModel在调用pushState时仅表示屏幕上的html?如果我再次调用该状态,使用history.js它将加载它的代表性html?没错。不,它不会加载HTML,您必须自己加载,但理论上,您的viewmodel中有足够的信息来加载HTML。
var viewModel = {
title: 'FAQs',
url: 'faqs.html',
favouriteColor: 'green',
stepsCompleted: 4
};
history.pushState(viewModel, viewModel.title, viewModel.url);