0

我正在尝试使用 Worklight 将应用程序部署到 Android。

我之前看到过与此帖子类似的错误,但是没有给出任何具体答案。当我在 Android 模拟器上启动应用程序时触发错误,就是这样:

08-13 08:22:26.262:E/Web 控制台(347):TypeError:表达式“cordova.exec”未定义的结果不是函数。在 file:///data/data/com.Test/files/www/default/wlclient/js/wlgap.android.js:697

现在,我相信这个 js 文件是在运行时注入的,因此我不确定如何以及在哪里编辑它。

后来抛出的错误是这样的:

08-13 08:22:30.982:E/Web 控制台(347):TypeError:表达式“h.body()”未定义的结果不是对象。在 file:///data/data/com.Test/files/www/default/dojo/mobile-ui-layer.js:257

所以问题在于 Dojo 和/或 Cordova-PhoneGap。问题是,我如何绕过它并让我的应用程序正常工作?

我相信这可能是 wlCommonInit 的问题,因为在调用它之前它不能有任何东西,但是,我在它遇到它之前解析 Dojo。如果我在遇到此问题之前不解析 Dojo,则会收到大量 Dojo 解析错误。

任何帮助都非常感谢。

谢谢!

4

2 回答 2

1

可以在android原生项目中看到wlgap.android.js。您应该将 Dojo 代码放在 wlCommonInit(或 wlEnvInit)中,并且不需要检查 dom 或设备是否准备就绪(Worklight 运行的进程会在触发 wlCommonInit 之前对其进行测试)。

于 2012-09-11T15:18:18.133 回答
0

确保您的所有 Dojo 解析都在 wlCommonInit 中完成 - 这意味着将加载解析设置为 false 并在 wlCommonInit 中以编程方式进行。

于 2012-08-30T13:21:11.017 回答