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

时间:2014-05-02 16:03:16

标签: php jquery jquery-mobile

我找不到任何有关此问题的人的任何其他信息...我没有在任何地方使用.page(),我甚至取消了我的exrenal javascript文件,但它仍然会发生。

我使用导航栏导航并随机(并非总是)它将开始以无限循环重新加载页面。并且有这一页,没有什么特别的东西,如果我按f5重新加载它将永远发生,但如果我来自另一页...它不会发生o它是如此奇怪。

我正在使用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>

编辑:删除数据预取可以解决问题,,但我想预取网页以获得流畅的导航并让它感觉像应用,为什么会导致此问题?

1 个答案:

答案 0 :(得分:1)

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

<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();
});