[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: проверка доступа в интернет
Страницы: 1, 2
sign63
уже это пробывали все время выдает тру

_____________
user posted image
N0ob
sign63 не может такого быть! unsure.gif Не могу поверить, что разработчики JS допустили БАГ wink.gif
N0ob
Хммм странно у меня тоже всегда тру выдает wink.gif Что это так, JS корявый tongue.gif
FatCat
Цитата (sign63 @ 16.05.2013 - 13:35)
при чем тут серверу что то передавать?

Аппетит приходит во время еды. Когда-нибудь потребуется. laugh.gif

_____________
Бесплатному сыру в дырки не заглядывают...
sign63
=))) ну уже та штука в продакшене) сделано через лес но работает эффективно) везде где искал на форумах писали что через js нельзя сделать)


_____________
user posted image
FatCat
Цитата (sign63 @ 17.05.2013 - 07:19)
писали что через js нельзя сделать

Все верно, js не видит подключения к интернету. Но ничто не мешает разместить часть информации в интернете, часть локально, и сверить джаваскриптом результат.
Например объявляем джаваскриптом на странице переменную, присваиваем ей значение "0". Затем подгружаем файл js из интернета с инструкцией присвоить этой переменной значение "1".
Вуаля: по значению переменной мы определяем наличие подключения к интернету.

_____________
Бесплатному сыру в дырки не заглядывают...
sign63
вот так уже сделал)

<script type="text/javascript">
function change (){
$('#change').html("<br><a href ='http://pogoda.yandex.ru/sizran/' target='_blank' title = 'Узнать погоду на 10 дней'><div style='margin: 0 auto;height: 98px;width: 198px;background: url(img/weather.png?x=y) center no-repeat;'></div></a><br>");
}

function internetConnectionChecker() {
try {
myImg = new Image();
myImg.src = 'http://yandex.st/weather/1.1.89/i/icons/30x30/skc_d.png?'+ Math.random();
setTimeout('internetConnectionCheckerFinal()', 3000);
}catch(e) {}
}



function internetConnectionCheckerFinal() {

if (myImg.complete) {
//alert('Connected');
change();
} else {
//alert('No connection!');
}
}


internetConnectionChecker();

</
script>


_____________
user posted image
Zzepish
Зачем все так сложно? Открыл сокет- если открылся- дошел пинг, если нет- не дошел (на них ддос еще писать гуд)
http://php.net/manual/ru/function.fsockopen.php
killer8080
sign63
а почему просто не вынести наружу (в интернет) скрипт? Загрузился скрипт - показал картинку, нет - значит доступа нет. Ну и конечно рандомные параметры в урл, чтоб кеш пробить.
N0ob
Цитата
а почему просто не вынести наружу (в интернет) скрипт?

У меня тоже такой вопрос навеяло wink.gif
FatCat
Цитата (killer8080 @ 20.05.2013 - 13:28)
почему просто не вынести наружу (в интернет) скрипт?

Похоже, нравится человеку в тексте скрипта заветное слово "function"...

_____________
Бесплатному сыру в дырки не заглядывают...
glock18
Цитата (sign63 @ 16.05.2013 - 06:03)
r3al, Вы знаете как можно решить эту проблему? Просто я облазил почти все, и вижу много мнений что проверить есть ли на стороне клиента интернет проблематично или вовсе невозможно...

Это возможно. С небольшими оговорками - нужен ресурс, по которому будете проверять наличие интернета (лучше всего подойдет картинка или js-файл).

В js есть событие error которое и "выстрелит" если загрузка не удалась. Соответственно потребуется определенный таймаут прождать прежде, чем станет ясно есть сеть или нет. Можно повесить обработчик на это событие или же просто поймать ошибку в catch

EDIT: пардон, тему не дочитал до конца сразу, вижу, что уже разобрались smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.