0

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ファイルはどこにありますか?

編集:また、コンピューターでは、デバイスの仕様と(したがって)カメラ機能(?!)を取得できないナビゲーターに障害が関係していると思いますが、それはコンピューター上にありますが、モバイルでも同様の場合があります(モバイルのナビゲーターも同じ問題を抱えています)。

私はこれに慣れていないので、ご容赦ください。よろしくお願いします。

4

1 に答える 1