Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Check connection / 25 сообщений из 26, страница 1 из 2
06.11.2008, 12:15
    #35637157
yanich
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
Доброго времени суток ...

Может быть кто-ть сталкивался с проблемой проверки connection из javascript перед отправкой заполенной формы ?
То есть при разрыве соединения хочется получить предупреждение типа "Связь потеряна, проверьте соединение", а не отправлять полноценный запрос и получать сообщение браузера...

Смотрел в сторону navigator.onLine и readyState объекта класса Image ... Но не работает ...
...
Рейтинг: 0 / 0
06.11.2008, 12:17
    #35637163
Evgeniy_SH
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
безполезная трата времени
...
Рейтинг: 0 / 0
06.11.2008, 12:18
    #35637169
Evgeniy_SH
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
с=з
...
Рейтинг: 0 / 0
06.11.2008, 12:21
    #35637177
yanich
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
Evgeniy_SHбезполезная трата времени
В смысле корректная проверка невозможна по определению?
...
Рейтинг: 0 / 0
06.11.2008, 12:31
    #35637223
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
Абсолютно бесполезное занятие.
Веб-страница - часть веб-пространства и проверять, является ли она по-прежнему этой частью, - на мой взгляд, глупо. Инет или есть, или его нет. Если связи нет, то и "полноценный запрос" не отправишь. Имхо, ориентируешь на тех, у кого модемы 9600 бод в глухой сибирской деревушке или казахской степи ... а надо на жителя мегаполиса :)
...
Рейтинг: 0 / 0
06.11.2008, 12:35
    #35637240
yanich
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
IDVsbruck,

На кого и как ориентируюсь - это другой вопрос...
Интересует чисто практический вопрос - можно? - если да, то код ...
...
Рейтинг: 0 / 0
06.11.2008, 12:41
    #35637252
зы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
можно на аяксе, как делают все гугловские сервисы. И, кстати, правильно делают, потому что обрывы в наше время - не такая уж и редкость. Обидно было бы нафигарить паракилобайтный документ и потерять его при отправке. Как - отсылаешь запрос на сервер и ждешь ответ. Нет ответа - облом, есть - хорошо.
...
Рейтинг: 0 / 0
06.11.2008, 12:45
    #35637263
Evgeniy_SH
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
:) ну если уж нафигарил пару килобайт, ничего с тобой не случится, ещё раз нафигаришь... - вот русский подход... а кнопка в броузере назад для чего?
...
Рейтинг: 0 / 0
06.11.2008, 12:53
    #35637285
Evgeniy_SH
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
хорошая мылся приходит на посля ;), надо проверять не соединение, а результаты внесенных изменений, ну типа, чел проправил профиль, ;) надо же ему сказать, что типа успешно...
...
Рейтинг: 0 / 0
06.11.2008, 12:56
    #35637294
зы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
кнопка back не всегда совместима с ajax приложениями, а уж восстановление полей ввода - и подавно. Сообщать пользователю о результатах операции всегда нужно, ибо тупых(тупейших) пользователей вебсайтов намного больше, чем ты думаешь
...
Рейтинг: 0 / 0
06.11.2008, 12:57
    #35637299
Evgeniy_SH
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
зы: какой вопрос, такие и ответы...
...
Рейтинг: 0 / 0
06.11.2008, 12:59
    #35637302
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
О! Тут уже идеологический вопрос поднимается: проверять связь, чтобы не потерять контент или грамотно сделать, чтобы не потерять контент в любом случае? - Думаю, из формулировки и так все понятно :)

Практически с начала программирования в вебе считал, что грамотнее не подвергать валидации данные на клиенте скриптом, а кидать асинхронно на сервер и когда сервер уже даст добро, что данные скушаны, можно и страничку менять (динамически или по запросу). С жалобами, что будут зедержки, - не обращаться - надо серваки хорошие иметь, все-таки веб :).

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

P.S. А сервисы, где по нажатию на кнопку теряешь всю введенную информацию, однозначно бесят. Иногда и кнопка в браузере не помагает.
...
Рейтинг: 0 / 0
06.11.2008, 13:43
    #35637471
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
Можно попробовать так:
1. Завести переменную var isConnect=false;
2. Завести <div id="scripts"></div>
3. На сервере формировать серверным скрипром, пусть он называется хоть, check.php текстовую строчку "checkConnect();" .
4. Определить функцию function checkConnect(){isConnect=true;}
5. При нажатии на сабмит onclick="return beforeSubmit();"
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
function beforeSubmit(){
	isConnect=false;
	var sc=document.createElement("SCRIPT");
	sc.src="check.php?now="+new Datetime();
	var div=document.getElementById("scripts");
	div.innerHTML="";
	div.appendChild(sc);
	return isConnect;
}
...
Рейтинг: 0 / 0
06.11.2008, 13:43
    #35637477
зы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
задержки будут независимо от того, какие сервера у тебя стоят. На скорость может повлиять все что угодно - клиентский канал, географическое положение твоих серверов и клиента, погода в арктике, настроение админа, бомжи, режущие кабель в твоем подъезде. Ajax валидация только на сервере - имхо глупо и не юзабельно, реализуется исключительно из-за лени программиста. Да не все поля можно провалидировать на клиенте (существование емейла в базе, например), но простейшие проверки должны быть там, благо инструментов навыпускали куеву хучу.
...
Рейтинг: 0 / 0
06.11.2008, 13:45
    #35637489
зы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
ShSergeМожно попробовать так:

а это все ерунда, потому что один коннект может пройти, а другой обломаться. Нужно проверять результат непосредственного действия. Берите пример с гугла, у них отлично реализованы нотификации. Кстати поскольку они ещё переодически пингуют сервер чтобы забрать обновления, то если интернет пропал, то через некоторое время тебе об этом ненавязчиво напишут вверху страницы
...
Рейтинг: 0 / 0
06.11.2008, 13:50
    #35637516
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
зы,

Так и вызывать во всех случаях, хоть по таймеру beforeSubmit() и проверять чему равна переменная isConnect .
...
Рейтинг: 0 / 0
06.11.2008, 14:08
    #35637601
зы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
зачем вызывать-то beforeSubmit, судя по названию, перед сабмитом? чтобы юзер подождал чуть подольше и на кнопку потыкал побольше? :) для сайтов, которые работают по старым принципам, с сабмитом, такая фича просто не нужна. Нажал ф5 и ещё раз все заслал, если что-то не сработало. Хотя вот недавно бронировал гостинницу, ввел кредитку, нажал сабмит - и нифига, подвисло. ф5 нажимать было сыкотно полез проверять почту - пришел чек об оплате, так что решил просто закрыть сайт.
...
Рейтинг: 0 / 0
06.11.2008, 14:13
    #35637619
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
зы,

Да не перед сабмитом, а во всех случаях, когда нужна проверка. Хоть по таймеру.
...
Рейтинг: 0 / 0
06.11.2008, 14:30
    #35637687
зы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
чувствую ты уже откланяешься от исходных целей и начинаешь биться за принципы
...
Рейтинг: 0 / 0
06.11.2008, 14:31
    #35637692
зы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
пардон, отклоняешься
...
Рейтинг: 0 / 0
06.11.2008, 17:24
    #35638333
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
зы
отсылаешь запрос на сервер и ждешь ответ. Нет ответа - облом, есть - хорошо.

А если немного расширить? Вот отправил я данные на сервак. Они там принялись: коннект - ЭстЪ. Но, при попытке сохранения, возникла ошибка. Как, где и что мне необходимо прописать, чтобы вернулось не 200 (4 example, в ASP.NET'е)? Я так понимаю я должен перехватить что-то а-ля Render 'а и самому сформировать полностью ответ? Потому как в дрозофиле попробовал если тупо exception возбуждать - 500 возвращаецо и никак на это повлиять нельзя.
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
06.11.2008, 17:35
    #35638361
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
Все оказалось гораздо прозаичнее: Response.StatusCode устаканило...
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
06.11.2008, 18:32
    #35638520
зы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
не понял, ты пишешь, чтобы вернулось не 200 и не 500? а что тогда?:)по-моему 500 вполне адекватно для обработки ошибки :)
...
Рейтинг: 0 / 0
06.11.2008, 18:41
    #35638542
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
зы
по-моему 500 вполне адекватно для обработки ошибки

свой какой-нить код
зы
не все поля можно провалидировать на клиенте (существование емейла в базе, например)

_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
06.11.2008, 19:10
    #35638596
зы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Check connection
так тогда не кидай эксепшены. Exception-driven метод программирования не в почете
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Check connection / 25 сообщений из 26, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]