0
    /*******
    works when "Take Photo" button clicked
    ********/
function takePicture() {
    var result = blackberry.media.camera.takePicture(successCB);
}


/*******
post processing of photo click event
********/
function successCB(filePath) {
   try{
    blackberry.media.camera.close();
    var imagePath = "file://" + filePath;
    document.getElementById('images').setAttribute('src', imagePath.toString());
    document.getElementById("photoDetails").innerHTML = imagePath;
   }
  catch(e) {
        document.getElementById("photoDetails").innerHTML = e.ToString();
  }
}
//ConfigFile includes the following,  <access subdomains="false" uri="file:///store/home/user/camera/">

       //html portion of viewing photo
       <ul>
            <li id="Li1">
                <img id="Img1" alt="image" src="file:///store/home/user/camera/IMG-20120118-00001.jpg" /></li>
            <li id="photoDetails">
                <img id="images" alt="image" src="kkkoj" /></li>
        </ul>

imagePath 変数は正常に出力されます => "file:///store/home/user/camera/IMG-20120118-00001.jpg". しかし、写真が表示されません。

私が書いたコードの問題点がわかりません。画像パスは大丈夫でした。

奇妙なことに、imagePath をイメージの src としてハードコーディングすると、イメージを表示できます。しかし、successCB() で JavaScript を使用して設定すると、機能しません。Firefox で JavaScript コードの機能をテストしました。基本的なhtmlで動作します。OS 6 バンドル 2921 で Blackberry 9700 を使用しています。すぐに助けが必要です。一日中これで立ち往生してください

4

1 に答える 1

1

あなたの使い方がdocument.getElementById("photoDetails").innerHTML問題です。.innerHTMLの開始タグと終了タグの間のすべてを置き換えます<li id="photoDetails">imagesにあるのでphotoDetails、imagePathだけで消去されています。

imagePath を表示したい場合は、<div>または<span>を追加して、パスで更新してみてください。

<access>また、外部サーバーへのアクセスにのみ使用されるため、構成ファイルに要素は必要ないと思います。

于 2012-01-18T19:11:38.730 に答える