Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.01.2010, 20:07
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

Запрос на Ip
Задача такая заходит человек на сайт на народе скрипт проверяет есть ли
ip в сети если есть то отсылет на него если нет то загружает страницу
index.htm
Цель этого обойтись без хостинга )))
На данный момент используют во такой вариант

<html>
<head>
<script>
mike="offline";
</script>
<script src="http://94.233.4.22/testonline.js" id=script1>
</script>

<script>
function $(id) { return document.getElementById(id);}
window.onload = function()
{
$("ch").style.display="none";
$("bn").style.display="none";
$("bt").style.display="none";

if(mike=='online') {alert("online");alert("mike="+mike);window.location.href = "http://94.233.4.22";}
else {alert("offline");window.location.href = "index.htm";}

}
</script>
</head>

<body>

</body>
</html>


в testonline.js
mike="online";


Проблема втом что он кэширует скрипт и если я выключаю сервак он всё равно загружает скрипт из кэша и направляет на мой ip....
Подскажите что можно сделать?
Ответить с цитированием
  #2 (permalink)  
Старый 06.01.2010, 20:22
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

загружайте скрипт с помощью http://javascript.ru/ajax/transport/script
а для избежания кеширования, добавляйте к имени скрипта случайное число, чтобы ссылка была вида
http://94.233.4.22/testonline.js?15863452
на заметку: http://www.no-ip.com/
PS также можно сделать проверку активности IP, расположив на нем рисунок, и выполнив такой код:
(function(){
var img=new Image();
var onload=function(available){
alert(available);
/*
проверяем available, и в зависимости от него выполняем переход или еще что-то
*/
}
img.onload=function(){
onload(true);
}
img.onerror=function(){
onload(false);
}
img.src="http://ya.ru/logo.png";
})();

Последний раз редактировалось Gvozd, 06.01.2010 в 20:51.
Ответить с цитированием
  #3 (permalink)  
Старый 06.01.2010, 21:37
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

НЕ получается, в первом случае надо ещё dojo подклучать, можно без него
а во втором как его сгенирировать? если
<script src="http://94.233.4.22/testonline.js" id=script1>
</script>
туда не впихнешь функцию даты или рандома, а если потом менять src Тоже не пашет
Ответить с цитированием
  #4 (permalink)  
Старый 06.01.2010, 22:32
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

Первый вариант запахал если dojo выкинуть и заменить на document
и добавил random
<html>
<head>
<script>
mike="offline";

function attachScript(id, src){
var element = document.createElement("script")
element.type = "text/javascript";
element.src = src;
element.id = id;
document.getElementsByTagName("head")[0].appendChild(element)
}

attachScript('script1','http://94.233.4.22/testonline.js?date='+Math.random());


function $(id) { return document.getElementById(id);}
window.onload = function()
{
$("ch").style.display="none";
$("bn").style.display="none";
$("bt").style.display="none";

if(mike=='online') {alert("online");window.location.href = "http://94.233.4.22";}
else {alert("offline");window.location.href = "index.htm";}

}
</script>
</head>

<body>

</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 06.01.2010, 22:39
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

А способ с картинкой , не всегда работает правильно
Ответить с цитированием
  #6 (permalink)  
Старый 06.01.2010, 22:42
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от mycoding
Первый вариант запахал если dojo выкинуть и заменить на document
да, есть такое дело.
молодец, что разобрались самостоятельно)))))
Сообщение от mycoding
А способ с картинкой , не всегда работает правильно
разве?
приведите пример, или условия, когда не работает
Ответить с цитированием
  #7 (permalink)  
Старый 07.01.2010, 11:32
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

Он сначала не работал потом заработал, так что наверное работает))))
Просто я думал, что картинки браузер тоже должен кэшировать.
А вообще задача такая, есть 5 ну или более Ip он проверяет по порядку какой online и перенаправляет на первый который онлайн, но надо будет ещё как то сделать, что бы ну например будет форум, как то надо , чтобы обновления с других ip загружал, вот думая как это чисто технически можно сделать???
Ответить с цитированием
  #8 (permalink)  
Старый 07.01.2010, 13:06
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от mycoding
Просто я думал, что картинки браузер тоже должен кэшировать.
решается рповно также как и в случае со скриптом
Сообщение от mycoding
Он сначала не работал потом заработал, так что наверное работает))))
мой пример сначала не работал, а потом заработал?
или ваш не работал, а потом заработал?
просто в этом коде очень важен порядок, и именно надо обработчики выставлять до смены src
Сообщение от mycoding
чтобы обновления с других ip загружал, вот думая как это чисто технически можно сделать???
сливание 5 независимых БД со своими автоинкрементами-задача достаточно нетривиальная, и требует большого количества геморного кода
лучше бы вы разместили форум в одном месте все-таки
PS только щаз заметил глупость фразы
Сообщение от mycoding
Цель этого обойтись без хостинга )))
зачем?зачем делать решение через жопу в попытках обойтись без хостинга?
и чем вас использование хостинга не устраивает?они же копейки стоят.вы больше с девушкой в кафе потратите, чем хостинг на месяц!
по качеству и удобству также можно что-то подобрать .
в общем, если вас не что-то другое сподвигло на такие манипуляции, то ваша проблема из разряда "сами придумываем себе проблемы, а потом мужественно их решаем"
Ответить с цитированием
  #9 (permalink)  
Старый 07.01.2010, 14:42
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

Дело в том , что я не работаю, если бы работал купил, а так получаю опят, чтобы на работу приняли, спросят а что вы умеете, да вот например .... ))))
Ответить с цитированием
  #10 (permalink)  
Старый 07.01.2010, 14:43
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

А вообще я уже 1.5 года пытаюсь работу найти......)))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не работает ajax запрос ЯРОСЛАВ jQuery 9 07.04.2010 22:31
AJAX запрос на другой протокол Veresc AJAX и COMET 2 18.09.2009 18:47
Синхронный запрос данных по AJAX Shasoft AJAX и COMET 2 03.03.2009 14:07
ajax запрос с подгружемным js HelpeR AJAX и COMET 1 27.10.2008 12:44
HTTP запрос Itachi Общие вопросы Javascript 9 07.10.2008 19:06