Лучший отвечающий
Ожидание ответа сервера

Вопрос
-
Доброго времени суток!
Я новичок в js, поэтому вопрос, скорее всего, элементарный... Но в сети ответа найти не получилось, посему решил побеспокоить сообщество.
Делаю приложение под win8. Шаблон - приложение с навигацией. Язык - js. В homepage.js имеется код
(function () { "use strict"; function init() { var options = { url: "http://сайт.ru", responseType: "document" }; WinJS.xhr(options).done ( function (xhr) { var li; var i; var blocklist = document.getElementById("blocklist"); var links = xhr.response.querySelectorAll("a"); for (i = 0; i < links.length; i++) { li = document.createElement("li"); li.innerHTML = links[i].href; blocklist.appendChild(li); } //blocklist.innerText = "yyyyyy"; }, function () { var msg = new Windows.UI.Popups.MessageDialog("Не удается загрузить... Уж не случилочь ли чего с подключением к интернету?!"); msg.showAsync() } ); }; document.addEventListener("DOMContentLoaded", init()); })();
Как сделать, чтоб во время выполнения запроса пользователю показывались вертящиеся точки (или линеечки бегущих точек)? Это ведь, я так понимаю, системная "заставка"... Как ее прицепить?
- Изменен тип Maksim MarinovMicrosoft contingent staff 30 мая 2014 г. 6:00
- Изменен тип Maksim MarinovMicrosoft contingent staff 30 мая 2014 г. 8:57
26 мая 2014 г. 17:27
Ответы
-
Есть, конечно, и более изящные решения, но я новичок..
В общем, сделал так
(function () { "use strict"; WinJS.UI.Pages.define("/pages/home/home.html", { ready: function (element, options) { var progress = document.createElement("progress"); progress.id = "progress"; document.querySelector("body").appendChild(progress); var options = { url: "http://site.ru/page.php", responseType: "text" }; WinJS.xhr(options).then ( function (response) { //-----тут происходит нечто с полученным ответом сервера-------- progress.parentNode.removeChild(progress); }, function (error) { var msg = new Windows.UI.Popups.MessageDialog("Ах беда! Сервер временно недоступен..."); progress.parentNode.removeChild(progress); msg.showAsync(); } ); } }); })();
Надо вставить в нужное место тег <progress></progress> и "шарики" полетят. И будут летать, пока этот тег не убить. Ну, или не не сделать невидимым в css.
Летание "шариков" по кругу или по прямой, их цвет и фон, а также положение прогресса задается в соответствующем css по айдишнику. Можно и не шарики сделать, а реальный прогресс-бар (если, например, известно количество итераций). Тег тот же, рулить опять же в стилях.
- Помечено в качестве ответа Maksim MarinovMicrosoft contingent staff 30 мая 2014 г. 8:58
30 мая 2014 г. 6:17
Все ответы
-
Здравствуйте,
С этой: http://msdn.microsoft.com/en-us/library/windows/apps/hh465165.aspx , статьей ознокамливались?
Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение" Мнения, высказанные здесь, являются отражение моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
27 мая 2014 г. 6:23 -
Не нашел того, что хотел, но куда копать боле-менее понял. Спасибо.27 мая 2014 г. 8:32
-
Ясно, надеюсь результат будет. Если удасться найти что-то более конкретное, то по возможности отпишите здесь, будет в помощь пользователям с похожим вопросом.
Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение" Мнения, высказанные здесь, являются отражение моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
27 мая 2014 г. 14:11 -
Есть, конечно, и более изящные решения, но я новичок..
В общем, сделал так
(function () { "use strict"; WinJS.UI.Pages.define("/pages/home/home.html", { ready: function (element, options) { var progress = document.createElement("progress"); progress.id = "progress"; document.querySelector("body").appendChild(progress); var options = { url: "http://site.ru/page.php", responseType: "text" }; WinJS.xhr(options).then ( function (response) { //-----тут происходит нечто с полученным ответом сервера-------- progress.parentNode.removeChild(progress); }, function (error) { var msg = new Windows.UI.Popups.MessageDialog("Ах беда! Сервер временно недоступен..."); progress.parentNode.removeChild(progress); msg.showAsync(); } ); } }); })();
Надо вставить в нужное место тег <progress></progress> и "шарики" полетят. И будут летать, пока этот тег не убить. Ну, или не не сделать невидимым в css.
Летание "шариков" по кругу или по прямой, их цвет и фон, а также положение прогресса задается в соответствующем css по айдишнику. Можно и не шарики сделать, а реальный прогресс-бар (если, например, известно количество итераций). Тег тот же, рулить опять же в стилях.
- Помечено в качестве ответа Maksim MarinovMicrosoft contingent staff 30 мая 2014 г. 8:58
30 мая 2014 г. 6:17