выполнить javascript один раз?

usergeyv

Знаток
Регистрация
5 Июл 2013
Сообщения
152
Реакции
25
Как заставить его выполнятся только один раз, например, если картинка error.gif или файл
PHP:
// Прочитать дефолтную картинку с диска
$f=@fopen('templates/dleimages/error.gif','r');
Header('Content-type: image/gif');
// Передать ее в браузер
echo fread($f,filesize('templates/dleimages/error.gif'));
fclose($f);
// Получить ссылку на страницу с битой ссылкой и саму битую ссылку
$f=fopen('error.log','a+');
$str  = "Date: ".date("d.m.Y H:i:s")."\r\n";
$str .= "Picture: ".$_GET['src']."\r\n";
$str .= "URL: ".$_GET['page']."\r\n";
$str .= "ID: ".$_GET['id']."\r\n";
$str .= "------------------\r\n";
// Записать данные в лог-файл
fwrite($f,$str);
fclose($f);
не доступный или их нет , то в консоли множество ошибок , страница постоянно грузится
HTML:
var obj = document.getElementsByTagName('img');
for(var i = 0;i<obj.length;i++) {
  if (obj[i].addEventListener) {
    obj[i].addEventListener('error', handle_error, false);
  }
  else {
    obj[i].attachEvent('onerror', handle_error);
  }
}

function handle_error(e) {
  e = e ? e : window.event;
  var imgElem = e.target ? e.target : e.srcElement;
  imgElem.src='error_picture.php?src='+imgElem.src+'&page='+document.location.href+'&id=1111';
}
 
Сначала проверять наличие файла, потом его отображать.
$f=@fopen('templates/dleimages/error.gif','r');
if($f){
Header('Content-type: image/gif');
// Передать ее в браузер
echo fread($f,filesize('templates/dleimages/error.gif'));
fclose($f);
}
 
в handle_error удалить onerror у
imgElem
 
Назад
Сверху