除非刷新页面,否则 Jquery Mobile Web 应用程序无法正常工作

Posted

技术标签:

【中文标题】除非刷新页面,否则 Jquery Mobile Web 应用程序无法正常工作【英文标题】:Jquery Mobile web app not working unless page is refreshed 【发布时间】:2015-06-08 02:19:30 【问题描述】:

我目前有一个使用 phploginscript 的 jquery mobile 的 Web 应用程序。我有我的 index.html,它重定向到 login.php 页面(如下)

<?php
if (version_compare(PHP_VERSION, '5.3.7', '<')) 
    exit('Sorry, this script does not run on a PHP version smaller than 5.3.7 !');
 else if (version_compare(PHP_VERSION, '5.5.0', '<')) 
    require_once('libraries/password_compatibility_library.php');

require_once('config/config.php');
require_once('translations/en.php');
require_once('libraries/PHPMailer.php');
require_once('classes/Login.php');
$login = new Login();
if ($login->isUserLoggedIn() == true) 
    include("views/logged_in.php");
 else 
    include("views/not_logged_in.php");

所以当用户登录时,它包括“logged_in.php”,但问题是在我刷新页面之前没有任何 javascript 正在运行,只要我刷新页面一切都很好。

我在页面的第一行js是:

$('#page').on('pageinit', function()

感谢您的帮助,我无法弄清楚这一点..

【问题讨论】:

第一行是 $(document).on("pageshow", function() 不是我放的 【参考方案1】:

我找到了一个快速但肮脏的解决方法,方法是将脚本标签放在页面主体之后,如下所示:

<body>
    <div data-role="page">
        <script>
            // Your javascript will go here
        </script>
        // And rest of your HTML content
    <div>
</body>

因为这是一个原型设计,所以现在就可以了。

【讨论】:

【参考方案2】:

在页面之间切换时使用 rel="external",因为它会触发整个页面刷新。

【讨论】:

以上是关于除非刷新页面,否则 Jquery Mobile Web 应用程序无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

如何在 jQuery Mobile 中刷新单选按钮的样式和布局?

jquery mobile,结合jquery mobile“页面”和内部页面

jQuery Mobile 页面刷新机制

changePage 后 jQuery Mobile 刷新页面

在jquery mobile中刷新动态创建的页面

除非我刷新页面,否则 Javascript localStorage 在其他组件中不可用