Я успешно интегрировал dajax в свой проект. Это прекрасно, но ему не хватает некоторых функций, которые могли бы сделать его еще лучше - например. видимый индикатор того, что запрос обрабатывается (темный экран, песочные часы, что угодно). Я нашел несколько мест в dajaxice.js, где я должен перехватить запрос, но это не простой способ. Знаете ли вы о каком-либо простом методе или я должен выбрать жесткий путь - не использовать какую-либо структуру ajax и выполнять всю работу вручную ?Индикатор прогресса в dajax/dajaxice?
ответ
Что-то, как это будет работать (чтобы дать погрузочной Gmail стиль ... сообщение в правом верхнем углу):
function useLoadingMessage(message) {
var loadingMessage;
if (message) loadingMessage = message;
else loadingMessage = "Loading";
Dajaxice.preHook = function() {
var disabledZone = document.getElementById('disabledZone');
if (!disabledZone) {
disabledZone = document.createElement('div');
disabledZone.setAttribute('id', 'disabledZone');
disabledZone.style.position = "absolute";
disabledZone.style.zIndex = "1000";
disabledZone.style.left = "0px";
disabledZone.style.top = "0px";
disabledZone.style.width = "100%";
disabledZone.style.height = "100%";
document.body.appendChild(disabledZone);
var messageZone = document.createElement('div');
messageZone.setAttribute('id', 'messageZone');
messageZone.style.position = "absolute";
messageZone.style.top = "0px";
messageZone.style.right = "0px";
messageZone.style.background = "red";
messageZone.style.color = "white";
messageZone.style.fontFamily = "Arial,Helvetica,sans-serif";
messageZone.style.padding = "4px";
disabledZone.appendChild(messageZone);
var text = document.createTextNode(loadingMessage);
messageZone.appendChild(text);
}
else {
document.getElementById('messageZone').innerHTML = loadingMessage;
disabledZone.style.visibility = 'visible';
}
};
Dajaxice.postHook = function() {
document.getElementById('disabledZone').style.visibility = 'hidden';
};
}
вызов useLoadingMessage()
из вашего яваскрипта document.ready сценария или из OnLoad в вашей тег тела для самого агностика.
Пара писак в dajaxice.core.js:
Line 49 года:
oXMLHttpRequest.onreadystatechange = function() {
if (this.readyState == XMLHttpRequest.DONE) {
if(Dajaxice.postHook) Dajaxice.postHook();
if(this.responseText == Dajaxice.EXCEPTION || !(this.status in Dajaxice.valid_http_responses())){
error_callback();
Line 65 года:
}
if(Dajaxice.preHook) Dajaxice.preHook();
if(method == 'POST'){
oXMLHttpRequest.send(send_data);
}
else{
Javascript все библиотеки агностик, и она должна включать в себя только добавление 2 линии к источнику Dajaxice. Если вы хотите использовать другой элемент загрузки, просто дайте ему id
из disableZone
в свой html и установите visible = hidden
за его css.
Я принял это решение от dwr, которое является dajaxice для Java. У этого есть некоторые другие интересные функции, хотя, как некоторые приличные страницы отладки и прямая загрузка изображения, которые были бы удобны в dajaxice ....;).
- 1. индикатор прогресса
- 2. Индикатор прогресса в wpf?
- 3. WPF: круговой индикатор прогресса
- 4. Индикатор прогресса электронавигатора
- 5. Индикатор прогресса для файлов
- 6. Gtk «тонкий» индикатор прогресса
- 7. индикатор прогресса без процентов
- 8. fstream.read индикатор прогресса
- 9. Индикатор прогресса не анимируется
- 10. Бесконечный индикатор прогресса?
- 11. Node.js индикатор индикатора прогресса
- 12. Bootstrap - индикатор прогресса
- 13. показать неопределенный индикатор прогресса
- 14. Индикатор прогресса веб-сайта
- 15. Индикатор прогресса не показан
- 16. Индикатор прогресса с процессом
- 17. Пользовательский горизонтальный индикатор прогресса
- 18. Android - настраиваемый индикатор прогресса
- 19. Как прогрессировать индикатор прогресса
- 20. Индикатор прогресса ASP.NET MVC
- 21. Создать индикатор прогресса в Liferay
- 22. Индикатор прогресса в области воспроизведения
- 23. индикатор прогресса Android в listview
- 24. Вертикальный индикатор прогресса в качелях?
- 25. индикатор прогресса в Windows Phone
- 26. Потокобезопасная индикатор прогресса в Скале
- 27. , отображающий индикатор прогресса в службе
- 28. Непрерывный индикатор прогресса в Javascript
- 29. Android: Пользовательский горизонтальный индикатор прогресса
- 30. Google Glass GDK: индикатор прогресса?