IBM Worklight 6.0 - Cordova onDeviceReady가 실행되지 않습니다.
-
21-12-2019 - |
문제
워크라이트 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);
}
경고가 절대 실행되지 않습니다.
Worklight 6.0은 cordova 2.6 버전을 사용하는 것 같습니다. 다른 버전의 cordova.js를 변경해야 합니까?
해결책
Worklight 기반 애플리케이션에서는 이 검사가 필요하지 않습니다.
올바르게 언급했듯이 Cordova는 Worklight와 함께 번들로 제공됩니다.앱이 성공적으로 실행되면 deviceReady
이미 (내부적으로) 실행되었습니다.그렇지 않으면 앱이 처음부터 작동하지 않을 것입니다.
앱 실행 > Cordova 초기화 > Worklight 프레임워크 초기화 > 앱이 "준비"됨
따라서 당신이 해야 할 일은 단순히 구현 코드를 common\yourApp.js
(또는 원하는 곳에 전화를 걸거나) deviceReady
확인하다.
예를 들어, 다음을 수행하면 다음을 확인하지 않아도 작동한다는 점을 알 수 있습니다. devicReady
첫 번째.
function wlCommonInit() {
alert (device.cordova);
}
당신이 하려는 작업인 fileSystem 예제를 사용한다면...나는 다음을 수행했으며 제대로 작동합니다.나는 단순히 Cordova File API 페이지의 LocalFileSystem 예제를 따랐습니다..
- 새로운 프로젝트 및 애플리케이션
안드로이드 환경 추가
파일 API의 목적은 다음과 같습니다. 모바일 환경 미리보기용이 아닙니다. PC 브라우저.
표시되는 오류의 원인은 다음과 같습니다.LocalFileSystem is not defined
.그거랑은 아무 관련이 없어deviceReady
.~ 안에
common\testapp.js
나는 다음을 추가했습니다- Android Emulator에서 앱 실행
앱에서 성공 알림()을 받았습니다.
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, Java 애플릿을 보려면 Java가 설치되어 있고 브라우저에서 활성화되어 있는지 확인해야 합니다.그런 다음 파일 왼쪽 창의 메뉴.
다음 질문을 참조하세요.
- IBM Worklight - Worklight Console MBS의 파일 API 시뮬레이션
- IBM Worklight 6.0 - "Capture API 시뮬레이션이 비활성화되었습니다(애플릿이 로드되지 않았습니다. Java 설정을 확인하십시오)"
맥을 사용하신다면, Java 6을 사용해야 합니다..