2

首先加载本地html:

String url ="file:///android_asset/www/login-mobile.html";
this.loadUrl(url);

phonegap 在 login-mobile.html 中成功加载。

但是...当我单击 login-mobile.html 中的登录按钮时,然后使用代码触发单击事件:

document.location = "http://192.168.84.86:8080/static/mobile-demo/phonegap/phonegap.html";
or 
$("#loginForm").attr("action","http://192.168.84.86:8080/static/mobile-    demo/phonegap/phonegap.html");
document.loginForm.submit();

然后 phonegap 加载以下错误:

D/CordovaLog(13261): http://192.168.84.101:8686/maw-home/res/js/cordova-  android.js: Line 3558 : JSCallback Error: Request failed.

据我所知,XHR(cordova/plugin/android/callback)有问题。但我不知道为什么?

多谢。

4

1 回答 1

0

补充:逻辑很简单:在登录验证后,使用cordova-1.6.1直接到另一个页面。

所以我发现有一种方法是可行的:用js模拟a标签href处理机制。

var theTarget = document.getElementById('alink'); 
var clickevent = document.createEvent('Event');
clickevent.initEvent('click', true, false);
theTarget.target = "_blank";
theTarget.href = "http://192.168.84.86:8080/static/mobile-demo/phonegap/phonegap.html";
theTarget.dispatchEvent(clickevent);

它直接到phonegap.html 并正确加载cordova。

所以这就是为什么?还有其他方法可以代替,因为在验证后,我想将数据发布到页面(phonegap.html)。

于 2012-06-06T12:08:08.877 回答