Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.03.2010, 00:20
Аватар для tom
tom tom вне форума
Интересующийся
Отправить личное сообщение для tom Посмотреть профиль Найти все сообщения от tom
 
Регистрация: 07.03.2010
Сообщений: 11

Ротатор ,как сделать проверку перед показом?
Здравствуйте)
Помогите настроить ротарот банеров,дело в том ,что нужно ,чтобы перед паказом банера ,его ссылка проверялась на работаспасобность если всё работает то банер паказываестся ,если нет то паказываеться другой банер,который в свою очередь тоже проверяестся и так далее.

Вот код ротатора,можно ли сюдавставить проверку?
<SCRIPT>
var k; 
imgprint=1; 
imgall=1; 
var ran=new Array(imgprint-1); 
function random_number(){ 
return Math.round(Math.random() * imgall); 
} 
function check(num){ 
while(k!=num){ 
ran[num]=random_number(); 
k=0; 
for(a=0;a<num;a++){ 
if(ran[a]!=ran[num]){ 
k++ 
} 
} 
} 
} 
ran[0]=random_number(); 
for(a=1;a<imgprint;a++){ 
check(a); 
} 
img=new Array(imgall); 
link=new Array(imgall); 
alt=new Array(imgall); 
img[0]="http://lostgeorgia.com/go/ban/728_90teens.gif"; link[0]="http://yahoo.com"; alt[0]="ggg";
img[1]="http://lostgeorgia.com/go/ban/728x90_blk.gif"; link[1]="http://google.com"; alt[1]="fff"; 
img[0]="http://lostgeorgia.com/go/ban/728x90_blk.jpg"; link[0]="http://mail.com"; alt[0]="dddd";

for(i=0;i<imgprint;i++){ 
document.write('<a href="'+link[ran[i]]+'" target="_blank">'); 
document.write('<img width=468 height=60 border=0 src="'+img[ran[i]]+'"'); document.write('alt="'+alt[ran[i]]+'"></a>'); 
} 
document.write('</center>'); 
</SCRIPT>


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

можно попробовать загрузить содерджимое по ссылке во фрейм, и навесить обработчики onload и onerror соответсвенно
Ответить с цитированием
  #3 (permalink)  
Старый 08.03.2010, 12:45
Аватар для tom
tom tom вне форума
Интересующийся
Отправить личное сообщение для tom Посмотреть профиль Найти все сообщения от tom
 
Регистрация: 07.03.2010
Сообщений: 11

а можешь набросать на примере ,если не трудно,я просто не совсем понял как это сделать.С кодом у меня пролблемы,только учусь
,помоги пожалуйста ))
Ответить с цитированием
  #4 (permalink)  
Старый 08.03.2010, 16:44
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Проверяйте на серверной стороне, и баннеры с битыми ссылками просто не выводите.

Суп. Надо. Есть. Ложкой.
Ответить с цитированием
  #5 (permalink)  
Старый 08.03.2010, 20:54
Аватар для tom
tom tom вне форума
Интересующийся
Отправить личное сообщение для tom Посмотреть профиль Найти все сообщения от tom
 
Регистрация: 07.03.2010
Сообщений: 11

а как это сделать ?
Ответить с цитированием
  #6 (permalink)  
Старый 09.03.2010, 09:33
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Зависит от многих факторов. Прежде всего от того, каким серверным языком Вы пользуетесь, и того, находятся ли эти изображения на Вашем сервере или на удаленном.

С самом простом случае (php) проверка будет выглядеть примерно как
if (file_exists("{$_SERVER['DOCUMENT_ROOT']}/go/ban/728_90teens.gif")){
// делаем что-нибудь полезное
}
Ответить с цитированием
  #7 (permalink)  
Старый 09.03.2010, 15:20
Аватар для tom
tom tom вне форума
Интересующийся
Отправить личное сообщение для tom Посмотреть профиль Найти все сообщения от tom
 
Регистрация: 07.03.2010
Сообщений: 11

спасибо Вам )
Большое спасибо это то что нужно)

вот как я это сделал.
теперь ссылаеться всегда на рабочий сайт

<?
   
   
   $ban1 = '<a href="http://atbest.ru"> <img src="banner1.jpg" width="157" height="274" /></a>';//банер1 который показываем,если $url1 существует
    $ban2 = '<a href="http://lostgeorgia.com"> <img src="banner2.jpg" width="157" height="274" /></a>';//банер2 который показываем,если $url1 существует
     $ban3 = '<a href="http://dating.atbest.ru"> <img src="banner3.jpg" width="157" height="274" /></a>';//банер3 который показываем,если $url1 существует
   
   
// файл, который мы проверяем
$url1 = "http://atbest.ru/images/tell.jpg";
$Headers1 = @get_headers($url1);

$url2 = "http://lostgeorgia.com/images/telee.gif";
$Headers2 = @get_headers($url2);

$url3 = "http://dating.atbest.ru/images/t2.jpg";
$Headers3 = @get_headers($url3);



// проверяем ответ от сервера с кодом 200 - ОК
if(preg_match("|200|", $Headers1[0]))
{
echo $ban1;
}

elseif (preg_match("|200|", $Headers2[0]))
{
echo $ban2;
}

elseif (preg_match("|200|", $Headers3[0]))
{
echo $ban3;
}

//и так далее до сотни доменов.Скажите так можно делать?,и на сколько это практично если доменов 100.



?>

Последний раз редактировалось tom, 09.03.2010 в 15:24.
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать проверку полей на js boris2000 Элементы интерфейса 12 18.11.2014 12:15
Как сделать постоянную проверку на javascript alb Общие вопросы Javascript 18 09.01.2010 14:05