Ротатор ,как сделать проверку перед показом?
Здравствуйте)
Помогите настроить ротарот банеров,дело в том ,что нужно ,чтобы перед паказом банера ,его ссылка проверялась на работаспасобность если всё работает то банер паказываестся ,если нет то паказываеться другой банер,который в свою очередь тоже проверяестся и так далее. Вот код ротатора,можно ли сюдавставить проверку? <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> Помогите)очень надо):blink: |
можно попробовать загрузить содерджимое по ссылке во фрейм, и навесить обработчики onload и onerror соответсвенно
|
:blink: а можешь набросать на примере ,если не трудно,я просто не совсем понял как это сделать.С кодом у меня пролблемы,только учусь
,помоги пожалуйста )) |
Проверяйте на серверной стороне, и баннеры с битыми ссылками просто не выводите.
Суп. Надо. Есть. Ложкой. |
а как это сделать ?
|
Зависит от многих факторов. Прежде всего от того, каким серверным языком Вы пользуетесь, и того, находятся ли эти изображения на Вашем сервере или на удаленном.
С самом простом случае (php) проверка будет выглядеть примерно как if (file_exists("{$_SERVER['DOCUMENT_ROOT']}/go/ban/728_90teens.gif")){ // делаем что-нибудь полезное } |
спасибо Вам )
Большое спасибо:dance: это то что нужно)
вот как я это сделал. теперь ссылаеться всегда на рабочий сайт <? $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. ?> |
Часовой пояс GMT +3, время: 14:30. |