1

My Phonegap 应用程序登录页面包含一些输入字段,例如用户名、密码、url、设备类型等……用户在第一次登录时必须输入这些字段才能激活应用程序。下次用户只需输入用户名和密码,因为应用程序已经激活。所以我想在第二次登录时只显示用户名和密码字段。

我有一个 phonegap 插件来检查应用程序是否被激活。我想调用这个插件,根据回调响应,我将在登录页面上只显示必要的字段。那么最简单的方法是什么?

我试过这个..

$("#loginPage").live('pagebeforeshow',function(event, ui){
window.plugins.AuthPlugin.appIsActive(appIsActiveCallBack);
});
function appIsActiveCallBack(result){//Show only relative fields...}

但是我收到了这个错误:Uncaught TypeError: Cannot call method 'appIsActive' of undefined

提前致谢。

4

1 回答 1

0

你得到Uncaught TypeError是因为你试图在设备准备好之前调用插件......只有在设备准备好时才调用插件......

更新

您需要做的是确定您只需要在本机端显示的所有字段......之后将一个变量(标志)从 java 传递到 JavaScript,该变量可以在pagebeforeshow访问

所以你的活动看起来像这样

/*
 * Some database operations which you need to check 
 *  so that you can determine what to show
 */
this.setIntegerProperty("loadUrlTimeoutValue", 70000);
super.loadUrl("file:///android_asset/www/index.html", 20000);
super.loadUrl("javascript: { var pageFlag = '" + flag + "';}");

在你的index.html中像这样显示

$("#loginPage").live('pagebeforeshow',function(event, ui){
alert(pageFlag);
});

之后使用标志,您可以确定要显示的内容和不显示的内容...

希望能帮助到你...

于 2012-07-12T10:26:57.453 回答