这是我的jquery移动页面的自动页面转换问题。敬请原谅。
我在第A页,点击链接,然后转到“B”页面。现在,我点击页面“B”中的链接转到第C页。
在页面C上,我点击了浏览器后退按钮(左下角的iphone),它将我带到了所需的页面B.现在,我点击相同的链接返回到页面C.这次,浏览器会自动闪烁页面“C”(很快就会自动将jquery移动加载图像放在中间,它会转换幻灯片)它会加载页面“ B“而不是。当我查看顶部的URL时,我仍然是pageC.html url而不是B.只有内容属于Page B.
我有道理吗?怎么了?请帮帮我。
更多信息:我在用什么?
非常感谢
答案 0 :(得分:5)
我遇到了同样的问题,并且能够通过将hashListeningEnabled设置为false来解决它。
$.extend( $.mobile , {
ajaxEnabled : false,
hashListeningEnabled: false
});
答案 1 :(得分:1)
$ .extend($ .mobile,{ ajaxEnabled:false, hashListeningEnabled:false });
这对我也有用。在iPhone 5s上,我会浏览一个页面(使用.pagecontainer("更改")方法)。该页面是在客户端代码中动态生成的,因此它不是一个实际的URL。无论如何,我第一次使用后退按钮,它会工作。我第二次导航到另一个页面时,会发生转换,然后页面会快速闪回/重新加载。之后,后退按钮停止工作。
在标签中实现此代码对我有用。确保你把这个放在你的jquery参考之后,但是在你的jquery MOBILE参考之前。这是一个非常令人沮丧的Gotcha。我的标签看起来像这样:
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
$(document).bind("mobileinit", function () {
$.mobile.ajaxEnabled = false;
$.mobile.pushStateEnabled = false;
});
</script>
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<script src="phonebook.js"></script>
答案 2 :(得分:0)
巴迪,
我猜问题与您的文件结构有关。 您正在使用jquery移动库,但同时您正在使用两个页面来进行无效的转换。
答案 3 :(得分:0)
我遇到过类似的问题。将data-ajax="false"
添加到链接有时会有所帮助。
例如更改
`<a href="#" data-role="button" id="fix_link">Another Page</a>`
要
`<a data-ajax="false" href="#" data-role="button" id="fix_link">Another Page</a>`
有许多地方可以阅读有关JQuery Mobile如何加载页面和使用导航的内容,但我通过修补这一点了解到最多,有时data-rel="external"
是某些情况。
答案 4 :(得分:0)
如果您没有使用AJAX导航(即您将$.mobile.ajaxEnabled
选项设置为false),JQuery Mobile建议也禁用$.mobile.pushStateEnabled
来修复这些浏览器问题:
注意:在构建全局禁用Ajax导航系统或在单个链接上频繁禁用的jQuery Mobile应用程序时,我们建议禁用$ .mobile.pushStateEnabled全局配置选项以避免某些浏览器中的导航行为不一致。
http://demos.jquerymobile.com/1.4.2/navigation-linking-pages/
要禁用它:
$(document).bind("mobileinit", function () {
$.mobile.ajaxEnabled = false;
$.mobile.pushStateEnabled = false;
});