Ротатор ,как сделать проверку перед показом?
Здравствуйте)
Помогите настроить ротарот банеров,дело в том ,что нужно ,чтобы перед паказом банера ,его ссылка проверялась на работаспасобность если всё работает то банер паказываестся ,если нет то паказываеться другой банер,который в свою очередь тоже проверяестся и так далее. Вот код ротатора,можно ли сюдавставить проверку?
<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, время: 22:02. |