• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

JavaScript Code funktioniert beim Einbinden von jQuery nicht mehr

Emjay_Lee

Neues Mitglied
Hallo Liebes Forum,


folgender Code ist aus der Doc von Phongap Apache Cordova API Documentation


Code:
 var pictureSource;   // picture source
    var destinationType; // sets the format of returned value 


    // Wait for Cordova to connect with the device
    
    document.addEventListener("deviceready",onDeviceReady,false);


    // Cordova is ready to be used!
   
    function onDeviceReady() {
        pictureSource=navigator.camera.PictureSourceType;
        destinationType=navigator.camera.DestinationType;
    }


    // Called when a photo is successfully retrieved
    
    function onPhotoDataSuccess(imageData) {
      // Uncomment to view the base64 encoded image data
      // console.log(imageData);


      // Get image handle
      
      var smallImage = document.getElementById('smallImage');


      // Unhide image elements
      
      smallImage.style.display = 'block';


      // Show the captured photo
      // The inline CSS rules are used to resize the image
     
      smallImage.src = "data:image/jpeg;base64," + imageData;
    }


    


    // A button will call this function
    
    function capturePhoto() {
      // Take picture using device camera and retrieve image as base64-encoded string
      navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50,
        destinationType: destinationType.DATA_URL });
    }


    


    // Called if something bad happens.
    
    function onFail(message) {
      alert('Failed because: ' + message);
    }


Dieser Code funktioniert, wenn ich es auf meine Device als APP teste. Sobald ich aber jQuery einbinde ist der Traum einer schnelle Lösung den Kamera-Zugriff zu realisieren ausgeträumt.


Ein Button mit onclick="capturePhoto()" hat den Zugriff ohne jQuery ermöglicht.


Muss ich diesen Code auf irgendeine Weise modifizieren um auf mein gewünschtes Ergebnis zu kommen?


Vielen Dank schon einmal


Emjay
 
Gibt es denn eine JavaScript-Fehlermeldung in der JavaScript-Konsole?

Spontan tippe ich mal auf

Code:
navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50,         destinationType: destinationType.DATA_URL });

als die problematische Zeile. Das sieht arg nach Prototyp aus, was mit jQuery nicht kompatibel ist.
 
Diese Zeile ist aus der Dokumentation von Phonegap. Wenn ich den Button mit onclick="capturePhoto()" drücke dann steht in der Konsole dass die Funktion capturePhoto() nicht gefunden werden kann. Habe jetzt schon viel versucht und habe eine API Demo mit Phonegap 1.4.1 getestet welche ebenfalls nicht funktioniert. https://github.com/libbybaldwin/phonegap-api-demo-jquery-mobile

Allerdings funktioniert dieser Code, welcher aber stark von der Documentation abweicht.
https://github.com/Rockncoder/PGCamera-Android

Und eigentlich heisst es ja auch, dass jQueryMobile und PhoneGap oft zusammen genutzt werden, um Apps Plattformübergreifend zu erstellen und um auch Zugriff auf native Funktionen zu haben. Somit wäre es doch sinnlos, dass die von dir genannte Zeile nicht funktionieren wird. Oder sehe ich das gerade falsch?

Danke für die Antwort

Emjay
 
Zurück
Oben