BlackBerry Webworks: показ снятого изображения после съемки - PullRequest
0 голосов
/ 18 января 2012
    /*******
    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 как источник изображения, он может показать изображение.но когда я установил его с помощью JavaScript в successCB (), он не работает.Я проверил функциональность моего кода JavaScript в Firefox.это работает в основном HTML.Я использую Blackberry 9700 с os 6 bundle 2921. Мне нужна немедленная помощь.пожалуйста, я застрял с этим на весь день

1 Ответ

1 голос
/ 18 января 2012

Вы используете document.getElementById("photoDetails").innerHTML это проблема. .innerHTML заменяет все, что находится между открывающим и закрывающим тегами <li id="photoDetails">. Поскольку images находится в photoDetails, оно стирается только с помощью imagePath.

Если вы хотите отобразить imagePath, попробуйте добавить <div> или <span> и обновить их путём.

Кроме того, я не думаю, что вам нужен элемент <access> в вашем файле конфигурации, поскольку он используется только для доступа к внешним серверам.

...