【问题标题】:Phonegap: How to show configuration screen only oncePhonegap:如何只显示一次配置屏幕
【发布时间】:2015-04-03 14:02:51
【问题描述】:

我已经开始了 Phonegap 的工作,对于 Native App 开发者来说,要选择 Hybrid 非常困难。

只想知道如何在 Phonegap 中只显示一次配置屏幕。下面是截图。我只想在用户第一次运行应用程序时显示它,而不是在用户启动应用程序并保存 IP 地址时一次又一次地显示它。

这里的问题是,每当我按下设备的返回按钮时,这个屏幕就会显示出来。

这是我的 HTML:

<body>

<div data-role="page" id="pageConfig"> // This Div needs to show only first time

    <div class="ui-content" data-role="main">
        <h3>Configurations</h3>

        <label for="ipText">IP Address:</label>
        <input type="url" id="ipText" name="ipText" />
        <a href="#" class="ui-btn ui-btn-b ui-corner-all mc-top-margin-1-5" onclick="saveConfigs()">Save</a>
    </div>

</div>

<div data-role="page" id="pgLgn">

    <div data-role="main" class="ui-content">
        <form id="form1" class="validate">

            <div class="ui-field-contain">
                <label for="usrNme">Username:</label>
                <input type="text" name="usrNme" id="usrNme" placeholder="Username" data-clear-btn="true" data-theme="d" class="required" />
            </div>

            <div class="ui-field-contain">
                <label for="pswrd">Password:</label>
                <input type="password" name="pswrd" id="pswrd" placeholder="Password" data-clear-btn="true" data-theme="d" class="required" />
            </div>

            <div class="ui-field-contain">
                <input type="checkbox" id="chbx-0" class="custom" data-inline="true" />
                <label for="chbx-0">Remember me</label>
            </div>

            <input type="submit" data-inline="true" value="Login" id="btnLogin" data-shadow="false" data-theme="a" onclick="OnLoginClick()"/>
            <input type="reset" data-inline="true" value="Reset" data-shadow="false" />

        </form>
    </div>
</div>
</body>

我需要什么 Cordova 插件?

注意:我正在使用 Jquery Mobile 和 Cordova SQLite 插件进行数据存储。我的应用是单页架构。

提前致谢!

如果不清楚请告诉我。

【问题讨论】:

  • 在 javascript 中使用 cookie 或 sessionStorage。
  • 好的!根据 sessionStorage,只要应用程序关闭,它就会被删除。 stackoverflow.com/questions/18670731/…
  • 然后看localStorage,应用关闭时不会过期
  • 按照@TamilSelvan 的建议使用本地存储...并且还限制后退按钮。
  • localStorage 确实有效。还有一件事!它是仅在 HTML5 中有效还是在以前的版本中有效?

标签: android ios html cordova jquery-mobile


【解决方案1】:

你必须在设备就绪函数中写下这一行。

document.addEventListener("backbutton",onBackKeyDown,false);

function onBackKeyDown(){

 if($.mobile.activePage.attr("id") == "pgLgn"){
            navigator.app.exitApp();
        }
        else{
            navigator.app.backHistory();
}
}

使用localStorage。用key保存一个简单的字符串,检查deviceready函数中是否有针对key的特定值。

【讨论】:

  • 根据需要更改页面 ID
  • 这很好并且有效。告诉我,这是处理设备后退按钮的唯一方法吗?
  • 我不知道...Bt它是在Phonegap中处理后退按钮的便捷方式
猜你喜欢
  • 2012-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-09
  • 2021-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多