Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ajax: блокировка страницы во время подзагрузки 
:(
    Опции темы
ursula16
Дата 6.3.2008, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 4.7.2007

Репутация: нет
Всего: нет



Добрый день. Хотелось бы сделать примерно следущее: во время подгрузки данных через ajax выводить заставку(ну ето просто и понятно как сделать),и в ето время блокировать все ссылки и инпуты на страничке(ну чтобы нажать на них нельзя было)  smile  Заранее спасибо.
PM MAIL   Вверх
source777
Дата 6.3.2008, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: нет
Всего: 56



Выводи полупрозрачный div поверх всего...


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Sardar
Дата 6.3.2008, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Ого... где же это могло понадобится... приготовься, пользователи тебя часто не добрым словом поминать будут... smile

Можно повесить функцию на window.onberofeunload и возвращать false, тога браузер спросит юзера действительно ли можно уйти со страницы, по кнопке cancel юзер останется.

Ещё хуже пробежаться по всем document.forms и document.links, перехватить все onsubmit и onclick, возвращать false из обработчика. Это не спасёт от закрытия страницы.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
ursula16
Дата 6.3.2008, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 4.7.2007

Репутация: нет
Всего: нет



Sardar, так извращаться уж небуду... Но все равно спасибо. )  source777,ето как? Выводить все содержимое в етот div? smile 
PM MAIL   Вверх
SelenIT
Дата 6.3.2008, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



По идее, можно просто на это время поставить 
Код

document.body.onclick = function() {
    alert('Пожалуйста, откиньтесь на спинку кресла и дождитесь подгрузки самой важной информации!');
    return !1;
} 

а после загрузки убрать. Или поставить насовсем, а в самой ф-ции проверять, идет ли в это время какая-нибудь асинхронка, и делать вышеописанное только если идет.

source777, насколько я понимаю, имел в виду просто создать/заготовить пустой (полу)прозрачный div размерами с весь body, абсолютно позиционированный поверх всего (по z-index), и менять его display:none/block. Тоже вариант. Но опять же - зачем?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
ksnk
Дата 6.3.2008, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



SelenIT, Угу... А алерт кто будет закрывать? И кто сообщит юзеру, что загрузка закончилась?

У source777, совершенно правильная мысль. разве что нужно дополнить ее обработчиком клавиатуры, чтобы ушлый юзер не смог табуляцией перескочить на какой-нибудь контрол и ввести туда какую гадость...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
SelenIT
Дата 6.3.2008, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Цитата(ksnk @  6.3.2008,  21:43 Найти цитируемый пост)
А алерт кто будет закрывать?

Сам юзер, конечно smile . Это ж шуточный пример, главное в нем - демонстрация глобальной блокировки клика...

Цитата(ksnk @  6.3.2008,  21:43 Найти цитируемый пост)
И кто сообщит юзеру, что загрузка закончилась?

Очевидно, обработчик readystatechange AJAX-запроса. Как минимум - фактом отрисовки принятого контента. Да и полупрозрачный див (в варианте source777) скрывать придется ему же...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
source777
Дата 7.3.2008, 01:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: нет
Всего: 56



Цитата(SelenIT @  6.3.2008,  19:08 Найти цитируемый пост)
source777, насколько я понимаю, имел в виду просто создать/заготовить пустой (полу)прозрачный div размерами с весь body, абсолютно позиционированный поверх всего (по z-index), и менять его display:none/block.
да, именно так

Цитата(ksnk)

У source777, совершенно правильная мысль. разве что нужно дополнить ее обработчиком клавиатуры, чтобы ушлый юзер не смог табуляцией перескочить на какой-нибудь контрол и ввести туда какую гадость..
Это мне кажется уже будет перебор, ушлые юзеры обычно сразу отключают javascript  smile 


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
ksnk
Дата 7.3.2008, 07:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Цитата(source777 @  7.3.2008,  01:12 Найти цитируемый пост)
ушлые юзеры обычно сразу отключают javascript

И сидят на этой странице без динамической подгрузки данных ? Такая ушлость - себе во вред ;-)
Цитата(source777 @  7.3.2008,  01:12 Найти цитируемый пост)
...да, именно так
 Тогда следует еще добавить поверх этого полупрозрачного div'а еще один - непрозрачный с предложение "откинутся на спинку кресла и допить-таки остывший уже кофе..."



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
source777
Дата 7.3.2008, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: нет
Всего: 56



Цитата(ksnk @  7.3.2008,  07:59 Найти цитируемый пост)
 Тогда следует еще добавить поверх этого полупрозрачного div'а еще один - непрозрачный с предложение "откинутся на спинку кресла и допить-таки остывший уже кофе..."
Хорошая идея  smile 



--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1413 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.