JQM - JQuery Mobile 1.4.2无限刷新,这是一个bug吗?


JQM - JQuery Mobile 1.4.2 infinite refresh, is it a bug?

我找不到任何其他有这个问题的人的信息…我没有在任何地方使用。page(),我甚至取消了我的外部javascript文件的链接,它仍然发生。

我使用导航条进行导航,它会随机地(不总是)在无限循环中重新加载页面。这是一个页面,没有什么特别的,如果我按f5重新加载它,但如果我从另一个页面…这真是太奇怪了。

我使用php和jqm 1.4.2与jquery 1.10.2。我想写邮政编码,但不能准确地指出任何东西。

在页面上,我可以按f5/刷新,它总是做这个错误,我试图删除所有的内容,和php,除了包括/页眉/页脚部分,它仍然发生....,从头中删除我的js,它仍然发生,我能得出的唯一结论是jqm 1.4.2 jquery或我的php设置,我不知道该怎么做。任何想法?这个站点以前是jqm 1.2.0版本,我不记得当时有这个问题。

编辑:似乎删除_footer.php部分停止了错误,这是它的内容:

<?php
$navCSS = "ui-btn-active ui-state-persist";
?>
<div data-role="footer" data-position="fixed" data-tap-toggle="false">
    <div data-role="navbar" data-iconpos="top">
        <ul>
            <li><a href="quarts.php" class="cui-icon ui-nodisc-icon <?php echo($pageID == "quarts")?$navCSS:""; ?>" data-icon="quarts" data-prefetch="true" data-transition="fade">Quarts</a></li>
            <li><a href="nouvelle.php" class="cui-icon ui-nodisc-icon <?php echo($pageID == "nouv")?$navCSS:""; ?>" data-icon="nouv" data-prefetch="true" data-transition="fade">Nouvelle</a></li>
            <li><a href="disponible.php" class="cui-icon ui-nodisc-icon <?php echo($pageID == "disponible")?$navCSS:""; ?>" data-icon="dispo" data-prefetch="true" data-transition="fade">Dispo.</a></li>
            <li><a href="paies.php" class="cui-icon ui-nodisc-icon <?php echo($pageID == "paie")?$navCSS:""; ?>" data-icon="paie" data-prefetch="true" data-transition="fade">Paies</a></li>
            <li><a href="#pushMenu" id="push" class="cui-icon ui-nodisc-icon <?php echo($pageID == "code" || $pageID == "docs" || $pageID == "profil")?$navCSS:""; ?>" data-icon="autre" data-transition="slide">Autres...</a></li>
        </ul>
    </div>
</div>
<!-- page end -->
</div>
</body>
</html>

编辑:删除数据预取停止问题,但我想预取页面平滑导航,让它感觉像一个应用程序,为什么它会导致这个问题?

外部页面/链接被预取多次,因为您在每个页面内部使用相同的导航栏。您的解决方案是使用外部页脚和导航条,可以从任何内部或外部页面访问。

<body> <!-- or page container div -->
  <div data-role="page">
  </div>
  <!-- external footer -->
  <div data-role="footer" data-theme="a">
     <div data-role="navbar">
     </div>
  </div>

当使用外部小部件时,您需要通过调用.toolbar().enhanceWithin()初始化内部小部件来手动初始化

$(function () {
  $("[data-role=footer]").toolbar().enhanceWithin();
});