Phonegap に慣れて、私はこのエラーに出くわしました。
だから私は、デバイスのカメラを使用して(モバイルで)画像をキャプチャできるボタンを備えたHTMLページを作成したいと思います。
Phonegap のドキュメントからコードの本質を取り上げました。私のページは次のようになります。
<!DOCTYPE html>
<html>
<head>
<title>Capture Image</title>
<script type="text/javascript" charset="utf-8" src="plugin_loader.js"></script>
<script type="text/javascript" charset="utf-8" src="json2.js"></script>
<script type="text/javascript" charset="utf-8">
// Called when capture operation is finished
//
function captureSuccess(mediaFiles) {
var i, len;
for (i = 0, len = mediaFiles.length; i < len; i += 1) {
uploadFile(mediaFiles[i]);
}
}
// Called if something bad happens.
//
function captureError(error) {
var msg = 'An error occurred during capture: ' + error.code;
navigator.notification.alert(msg, null, 'Uh oh!');
}
// A button will call this function
//
function captureImage() {
// Launch device camera application,
// allowing user to capture up to 2 images
navigator.device.capture.captureImage(captureSuccess, captureError, {limit: 2});
}
// Upload files to server
function uploadFile(mediaFile) {
var ft = new FileTransfer(),
path = mediaFile.fullPath,
name = mediaFile.name;
ft.upload(path,
"http://my.domain.com/upload.php",
function(result) {
console.log('Upload success: ' + result.responseCode);
console.log(result.bytesSent + ' bytes sent');
},
function(error) {
console.log('Error uploading file ' + path + ': ' + error.code);
},
{ fileName: name });
}
</script>
</head>
<body>
<button onclick="captureImage();">Capture Image</button> <br>
</body>
</html>
(私のコンピューターで)試してみると、次のエラーが発生します。
XMLHttpRequest は file:///C:/Users/toshiba/Desktop/test%20camera/cordova_plugins.json を読み込めません。クロス オリジン リクエストは、HTTP でのみサポートされています。
Uncaught TypeError: 未定義のプロパティ 'capture' を読み取れません
最初のエラーは、そこにないいくつかのcordova_plugins.jsonに関連しており、実際にはありません。私が理解したところから: phonegap を使用するために必要なのは cordova js だけです (これは私の場合は plugin_loader.js であり、私の問題を解決するためにインターネットで見つけた推奨事項を少し変更しましたが、うまくいきませんでした...) .
2 番目のエラーは、次の行に関連しています。
navigator.device.capture.captureImage(captureSuccess, captureError, {limit: 2});
しかし、それは「モバイルの意味での」デバイスではないコンピューター上では普通のことだと思います。
私も 2 台のモバイル デバイスで試用しましたが、失敗が続きます。
私はJSファイルを持っているので、私の質問は次のとおりです.HTML5でどのPhonegapを開発し、それを動作させるために他の特定のプラットフォームのネイティブファイルにコンパイルする必要がありますか? 私はWebアプリモードで作業したいので、そうでないことを願っています.もしそうなら、私の問題はいくつかの不足しているファイルに関連しています:最も確実に機能するcordova jsファイルはどこにありますか?
編集:また、コンピューターでは、デバイスの仕様と(したがって)カメラ機能(?!)を取得できないナビゲーターに障害が関係していると思いますが、それはコンピューター上にありますが、モバイルでも同様の場合があります(モバイルのナビゲーターも同じ問題を抱えています)。
私はこれに慣れていないので、ご容赦ください。よろしくお願いします。