Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.01.2015, 17:10
Новичок на форуме
Отправить личное сообщение для JМаксим Посмотреть профиль Найти все сообщения от JМаксим
 
Регистрация: 20.01.2015
Сообщений: 3

В этой ошибке разберется не каждый!
Всем привет. Есть небольшой код для мобильного приложения под Android. Функция приложения проста, нажимаешь на кнопку "добавить фото" - срабатывает камера устройства - фотографируешь - фото появляется на стене. В строчке navigator.camera.getPicture(success, error, config); } есть ошибка. Т.к. я начинающий разраб, то не могу понять как ее исправить, когда убираю "}" в конце, то функция фотографирования срабатывает автоматом и даже фото добавляется на стену, но дальше кнопка вызова функции фотографирования не срабатывает и приложение "зависает". А с "}" приложение не работает, просто белый фон никак не реагирующий на нажатия на экран телефона. Помогите исправить ошибку плиз. Заранее премного благодарен! Вот весь код:

(function () {
document.addEventListener("deviceready", function () {
var everlive = new Everlive("main_id");
window.listview = kendo.observable({
addImage: function () {
$("#images")
.data("kendoMobileListView")
.prepend(["data:image/jpeg;base64," + data]);
}
});
var success = function (data) {
everlive.Files.create({
Filename: Math.random().toString(36).substring(2, 15) + ".jpg",
ContentType: "image/jpeg",
base64: data
}).then(loadPhotos);
};
var error = function () {
navigator.notification.alert("К сожалению, мы не смогли добавить изображение");
};
var config = {
destinationType: Camera.DestinationType.DATA_URL,
targetHeight: 400,
targetWidth: 400,
encodingType: Camera.EncodingType.PNG
};
navigator.camera.getPicture(success, error, config);
}
var app = new kendo.mobile.Application(document.body, {
skin: "flat"
});

function loadPhotos() {
everlive.Files.get().then(function (data) {
var files = [];
data.result.forEach(function (image) {
files.push(image.Uri);
});
$("#images").kendoMobileListView({
dataSource: files,
template: "<img src='#: data #'>"
});
});
}
loadPhotos(); navigator.splashscreen.hide();
});
}());

Последний раз редактировалось JМаксим, 20.01.2015 в 18:34.
Ответить с цитированием
  #2 (permalink)  
Старый 20.01.2015, 18:07
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Код отформатируй, а то ничего не понятно. Или ты так и пишешь код - в блокноте, без подсветки и без отступов?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 20.01.2015, 18:16
Новичок на форуме
Отправить личное сообщение для JМаксим Посмотреть профиль Найти все сообщения от JМаксим
 
Регистрация: 20.01.2015
Сообщений: 3

а как отформатировать? я попробовал пробелами, не получается...

Последний раз редактировалось JМаксим, 20.01.2015 в 18:18.
Ответить с цитированием
  #4 (permalink)  
Старый 20.01.2015, 18:27
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Кнопочка тут есть в редакторе:
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 20.01.2015, 18:31
Новичок на форуме
Отправить личное сообщение для JМаксим Посмотреть профиль Найти все сообщения от JМаксим
 
Регистрация: 20.01.2015
Сообщений: 3

Аааа спасибо. Вот тогда как то так:

(function () {
        document.addEventListener("deviceready", function () {
                var everlive = new Everlive("main_id");
                window.listview = kendo.observable({
                    addImage: function () {
                        $("#images")
                            .data("kendoMobileListView")
                            .prepend(["data:image/jpeg;base64," + data]);
                    }
                });
                var success = function (data) {
                    everlive.Files.create({
                        Filename: Math.random().toString(36).substring(2, 15) + ".jpg",
                        ContentType: "image/jpeg",
                        base64: data
                    }).then(loadPhotos);
                };
                var error = function () {
                    navigator.notification.alert("К сожалению, мы не смогли добавить изображение");
                };
                var config = {
                    destinationType: Camera.DestinationType.DATA_URL,
                    targetHeight: 400,
                    targetWidth: 400,
                    encodingType: Camera.EncodingType.PNG
                };
                navigator.camera.getPicture(success, error, config);
            }
            var app = new kendo.mobile.Application(document.body, {
                skin: "flat"
            });

            function loadPhotos() {
                everlive.Files.get().then(function (data) {
                    var files = [];
                    data.result.forEach(function (image) {
                        files.push(image.Uri);
                    });
                    $("#images").kendoMobileListView({
                        dataSource: files,
                        template: "<img src='#: data #'>"
                    });
                });
            }
            loadPhotos(); navigator.splashscreen.hide();
        });
}());
Ответить с цитированием
  #6 (permalink)  
Старый 01.05.2015, 19:02
Аспирант
Отправить личное сообщение для Dark Surv Посмотреть профиль Найти все сообщения от Dark Surv
 
Регистрация: 16.03.2015
Сообщений: 43

я совсем не разбираюсь в мобильном JS, но мне кажется что ошибка в том что здесь 14 '}' и 13 '}', одна '}' явно тут лишняя, какая - я еще не нашел
Ответить с цитированием
  #7 (permalink)  
Старый 01.05.2015, 19:05
Аспирант
Отправить личное сообщение для Dark Surv Посмотреть профиль Найти все сообщения от Dark Surv
 
Регистрация: 16.03.2015
Сообщений: 43

нашел, на 47
}());
а нужно просто
());

это все строгое ИМХО
Ответить с цитированием
  #8 (permalink)  
Старый 01.05.2015, 19:08
Аспирант
Отправить личное сообщение для Dark Surv Посмотреть профиль Найти все сообщения от Dark Surv
 
Регистрация: 16.03.2015
Сообщений: 43

Ой, я не заметил дату темы
Я не думал что в "Мобильном JS" так редко задаются вопросы...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нет сообщений об ошибке. Justas Opera, Safari и др. 1 27.01.2014 15:51
Передать значение этой переменной скрипту пхп не обновляя страницы jei Общие вопросы Javascript 10 01.03.2013 18:14
как получить сообщение об ошибке при загрузке изображения? wild_snail Общие вопросы Javascript 2 05.04.2012 12:23
Можно ли отключить остановку javascript при ошибке в IE6 ? limonad Internet Explorer 0 28.01.2010 18:04