문제

워크라이트 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 예제를 따랐습니다..

  1. 새로운 프로젝트 및 애플리케이션
  2. 안드로이드 환경 추가

    파일 API의 목적은 다음과 같습니다. 모바일 환경 미리보기용이 아닙니다. PC 브라우저.
    표시되는 오류의 원인은 다음과 같습니다. LocalFileSystem is not defined.그거랑은 아무 관련이 없어 deviceReady.

  3. ~ 안에 common\testapp.js 나는 다음을 추가했습니다

  4. Android Emulator에서 앱 실행
  5. 앱에서 성공 알림()을 받았습니다.

    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가 설치되어 있고 브라우저에서 활성화되어 있는지 확인해야 합니다.그런 다음 파일 왼쪽 창의 메뉴.

다음 질문을 참조하세요.

맥을 사용하신다면, Java 6을 사용해야 합니다..

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top