Forum Webscript.Ru
Дизайн и Верстка => Всё о Html => Тема начата: 0b0rm0t от 24 Ноября 2005, 00:42:07
-
На странице есть кнопка, вызывающая скрипт. Работает он секунды три. Необходимо на это время сделать страницу нективной, чтобы пользователь не мог на другую кнопку нажать или по ссылке перейти. В противном случае он огребет кучу ошибок.
Вопрос, видимо, из области css. Но вот что конкретно использовать - не знаю (можно, пожалуй, display:none или visibility:hidden на весь документ, но это не сильно хорошо).
-
кнопкам disabled="disabled"
-
Да с кнопками-то все просто. Могу просто внутри скриптов проверки сделать. Что делать с ссылками?
-
0b0rm0t
body onUnload
Можно придумать какое-то решение, которое и задержит пользователя на 3 секунды.
Однако этого можно избежать. Надо правильно писать скрипты.
-
А в чем тут неправильность?
-
0b0rm0t
А правильность в чем? Почему запрос ресурса/скрипта/чего-еще с сервера может испортить отработку бизнес-логики?... Это - правильно?
-
Не с сервера. Это все локально. Просто пользователь запускает обработку данных (javascript). И если не дождаться окончания работы скрипта - при переходе на другую страницу поползут ошибки. В "обычных" прогах это нормальная ситуация - много где отключают управление "пока ползунок не доползет". А как мне заставить "замереть" веб-страницу - не знаю.
И, кстати, как тут поможет body onunload?
P.S. Неправильно одно - пытаться использовать hta приложения. Вот тут я пролетел. Пиар Гейца мне мозги промыл. А может у меня просто руки неправильно растут - не знаю.
-
0b0rm0t
Про сервер - принято (просто немного неожиданно, делать некую обработку в JS)
http://msdn.microsoft.com/workshop/author/dhtml/reference/events/onbeforeunload.asp
Но если все это в JS - действительно, толку мало...
Можешь попробовать создавать в документе новый слой размером от 0,0 до максимально возможных c наибольшим z-index - в расчете на то, что лежащие под ним контролы не будут реагировать на события (ну и какой-нибудь ему filter:gray() или filter:alpha(opacity=50), для красоты).