我的网页包含一个下拉菜单,我已经实现了history.js,但是在后退按钮上,未显示下拉列表中所选项目的值。它会使用所选值加载下拉项,但不会在下拉列表中显示为选定项。此外,通过单击后退按钮进行ajax调用,并且不会刷新下拉列表。这意味着下拉列表不包括在ajaxcall中,它是在ajax调用之外。
此问题仅在Chrome中出现。我的Chrome版本是版本47.0.2526.73 m。这在Mozilla Firefox中运行良好。
问题是当我点击Chrome中的后退按钮时,下拉菜单不会显示默认/所选值。它也会加载所有值。仅在下拉列表中不显示所选值。如果我删除"选择"属性并再次通过编辑Html添加此属性,然后它也显示下拉值。
这是我实施了Histroy.js:
$(function () {
History.Adapter.bind(window, "statechange", function () {
var State = History.getState();
var url = ((State.data.loadUrl == "undefined") ? State.data.loadUrl : State.url);
if (typeof (manualStateChange) !== "undefined" && manualStateChange == true) {
AjaxCall(url);
}
else if (typeof (State.data.loadUrl) == "undefined") {
AjaxCall(url);
}
manualStateChange = true;
return false;
});
});
这是我的pushState函数:
function PushStateUrl(stateUrl) {
manualStateChange = false;
History.pushState({ loadUrl: stateUrl, rand: Math.random() }, document.title, stateUrl);
}