2016-11-14 10 views
1

jessファイルからそのオブジェクトを呼び出すときにcodenameoneプロジェクトにJSカメラオブジェクトがあります。Uncaught ReferenceError:カメラが定義されていません クロムブラウザでエラーが発生しました。私は、画像の下にUncaughtを取得するReferenceError:カメラが定義されていません

をアップロードしようとしている私のcodenameoneコードの下

camera.set("capture",new JSFunction(){ 
public void apply(JSObject self, Object[] args) { 
Display.getInstance().openImageGallery(new ActionListener(){ 
@Override 
public void actionPerformed(ActionEvent evt) { 
String imagePath =""; 
if(evt!=null){ 
imagePath=(String)evt.getSource(); 
final JSObject uploadedFile = (JSObject)ctx.get("document.getElementById('uploadedFile')"); 
uploadedFile.set("value",imagePath); 
} 
} 
}); 
} 
}); 
ctx.set("camera", camera); 

は私がwindow.cameraを与えるために使用されるカメラオブジェクトのためではなく、そのを与えることで、エラーを取得しています、私のjsファイルですしています上記のキャプチャのエラーは、キャプチャが私のHTMLファイルで使用しているボタンのIDです。

以下は、このエラーを得ている理由

document.getElementById('capture') 
.addEventListener('click', function(){ 
camera.capture(function(){ 
var results = document.getElementById("uploadedFile").value; 
document.getElementById("uploadedFile").value=results; 
}) 
}, true); 
+1

あなたはCN1のJavaScriptブリッジを使用していますが、Chromeブラウザを使用しているとしますか? javascriptブリッジは、Cn1 BrowserComponentで使用するように設計されています。 Cn1アプリのコンテキスト外でページを実行している場合、ブリッジは存在しません。 –

答えて

0

JSカメラファイルはthatsのがロードされていない、私のjsファイルです。

このコードの上にファイルが読み込まれていることを確認してください。

構造は次のようにする必要があります - >

ファイルsrcが含ま そして - > ここにあなたのスクリプト私はあなたが埋め込まれた内HTML5のAPIをアクセスしようとしている推測している

0

ブラウザコンポーネント。 HTML5のすべての鐘や笛にはアクセスできず、失敗する可能性があります。私は、これらがデバイス上で動作するかどうかは分かりませんが、シミュレータよりも良い機会があります。

+0

シミュレータで私は私のファイルを閲覧し、javascriptを介して私のhtmlファイルのファイルパスを取得することができますが、私のHTMLファイルで私はそのフォームを提出するフォームを提出する入力タイプのデータを送信するには、フォームを送信することができません。入力タイプのファイルはブラウザでのみ動作し、モバイルアプリでは動作しません。そのため、codenameoneファイルを使用してCN1のjavascriptブリッジを使用しています。では、ajax呼び出しでフォームデータを送信する方法。 –

+0

'MultipartRequest'クラスを使ってJavaからこれを行うだけです。 JavaDocの使用例を調べてください –

関連する問題