我正在使用worklight 6.0。
deviceready事件未触发。我在MBS中测试了这个,在iOS和Android中都在Firefox和Chrome中测试。
以下是我在initoptions.js
文件中使用的代码:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
alert("device Ready")
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
}
警告永远不会被解雇。
我认为使用cordova 2.6版本的worklight 6.0,我是否需要更改任何其他版本的cordova.js?
答案 0 :(得分:0)
基于Worklight的应用程序不需要此检查。
正如您所正确提到的,Cordova与Worklight捆绑在一起;您的应用成功启动后,deviceReady
已经解雇(内部)。否则,您的应用无法开始使用。
应用启动> Cordova初始化> Worklight框架初始化>应用程序已“准备就绪”
所以你需要做的就是简单地将你的实现代码放在common\yourApp.js
(或者你想要的任何地方,然后调用它),而不是deviceReady
检查。
例如,您会注意到,如果执行以下操作,它甚至可以首先检查devicReady
。
function wlCommonInit() {
alert (device.cordova);
}
如果要使用fileSystem示例,这是您要尝试的...我已经完成了以下操作,它对我来说正常。我只是followed the LocalFileSystem example from the Cordova File API page。
添加了Android环境
File API适用于移动环境,而不适用于 PC浏览器中的预览。
这就是您看到错误的原因:LocalFileSystem is not defined
。它与deviceReady
无关。
在common\testapp.js
我添加了以下内容
在应用程序中,我获得了成功警报()
function wlCommonInit(){ window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, fail); } function onFileSystemSuccess(fileSystem) { alert("*** Success *** File system name is: " + fileSystem.name); } function fail(evt) { alert("*** Fail *** Error code is: " + evt.target.error.code); }
要在通过Worklight Console的 MBS 预览 Android环境时执行相同的操作,您需要确保已安装Java且在浏览器中处于活动状态(至查看Java小程序)。然后,您应该使用左窗格中的文件菜单。
请参阅以下问题:
如果您使用的是Mac,you need to use Java 6。