For testing purposes I copied the full example found on the phonegap camera API and I put an alert on onPhotoDataSuccess to test when the function is fired. On the
I met the same problem and solved it. Because you import two "cordova.js" in your app, and maybe one is in the iframe. you can use "parent.cordova" in iframe instead.