我一直试图解决这个问题。情况就是这样。我已经构建了一个网站的桌面版本,我在其中使用了jQuery UI Tabs。在打开标签时,我做了一个pushstate:
history.pushState(str, null, str);
一切正常,没有问题。 URL变为page.html?var = xyz - 美丽。用户可以使用后退和前进按钮,很好。现在,我正在构建该网站的移动版本并决定使用jQuery Mobile。但是,它破坏了这一功能。
我认为这是因为路由,所以我尝试禁用它(在jQuery mobile之前加载):
$(document).bind("mobileinit", function(){
$.mobile.ajaxEnabled = false;
$.mobile.linkBindingEnabled = false;
$.mobile.hashListeningEnabled = false;
$.mobile.pushStateEnabled = false;
$.mobile.changePage.defaults.changeHash = false;
});
然而,这没有任何作用。单击jQuery Mobile选项卡(稍微延迟后),它仍然会尝试转到同一页面。我也尝试将这些添加到标签链接:
rel="external" data-ajax="false"
但它仍然破裂。任何人都知道如何禁用这个jQuery Mobile想成为URL的老大?我已经缩小了pushState是触发jQM重新加载的原因。任何帮助将不胜感激。