Скрытие изображений, которые не удалось загрузить

Вот как вы правильно извлекаете результат

$param = "%{$_POST['user']}%";
$stmt = $db->prepare("SELECT id,Username FROM users WHERE Username LIKE ?");
$stmt->bind_param("s", $param);
$stmt->execute();
$stmt->bind_result($id,$username);

while ($stmt->fetch()) {
  echo "Id: {$id}, Username: {$username}";
}

, или вы также можете сделать:

$param = "%{$_POST['user']}%";
$stmt = $db->prepare("SELECT id,Username FROM users WHERE Username LIKE ?");
$stmt->bind_param("s", $param);
$stmt->execute();

$result = $stmt->get_result();
while ($row = $result->fetch_array(MYSQLI_NUM)) {
  foreach ($row as $r) {
    print "$r ";
  }
  print "\n";
}

Надеюсь, вы поняли, что я получил ответ непосредственно из руководства здесь и здесь , где вы должны были пойти первым.

14
задан jamesh 29 October 2009 в 00:52
поделиться

4 ответа

  • как определить загруженность изображений или состояние сети.
  • как скрыть / замаскировать изображения, которые не удалось загрузить, чтобы их не обнаружил пользователь что изображение отсутствует

Вы можете посмотреть событие onerror, которое запускается, когда изображение не загружается:

<img src="image.png" alt="image" onerror="this.parentNode.removeChild(this)" />
  • когда выполнять эти задачи (например, когда документ / окно завершили загрузку?)
  • как сделать примените их.

У меня это сработало в Firefox и Chrome, когда я добавил его в самый конец моего документа (до ):

var imgs = document.getElementsByTagName('img')
    for(var i=0,j=imgs.length;i<j;i++){
        imgs[i].onerror = function(e){
        this.parentNode.removeChild(this);
    }
}

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

27
ответ дан 1 December 2019 в 09:13
поделиться

Интересный вопрос.

Если посмотреть в Firefox, если изображение не загружается, его naturalHeight (и ширина тоже) равна 0. Возможно, вы могли бы использовать какой-нибудь javascript в android, чтобы прочитать подобное свойство. Мой тестовый сценарий в Firebug был простым:

document.getElementsByTagName('img')[0].naturalHeight
1
ответ дан 1 December 2019 в 09:13
поделиться

Если ваши изображения не предназначены для использования вместо текста или для дополнения текста, тогда они должны быть фоновыми изображениями CSS. Фоновые изображения полностью пассивны и вообще не отображаются, если их невозможно восстановить или обработать.

0
ответ дан 1 December 2019 в 09:13
поделиться

как определить загруженность изображения или состояние сеть.

Один из подходов может заключаться в том, чтобы поддерживать ссылки на все изображения в DOM и связывать событие onload , которое запускается, когда изображение завершает загрузку. По прошествии определенного времени любое изображение, которое не сработало, может считаться проблемным.

как скрыть / замаскировать не загруженное изображение изображения, такие, что он не обнаруживается от пользователя, что изображение отсутствует.

Вы уже упомянули некоторые варианты. Вы думали об удалении элемента из DOM вообще? Клиент больше не будет загружать изображение.

когда выполнять эти задачи (например, когда документ / окно готово загрузка?)

Вы не можете использовать события document или window onload , потому что они не сработают, пока все в DOM не загрузится. Проверка готовности DOM зависит от браузера (к счастью, вы имеете дело только с одним!). Это может помочь вам начать .

1
ответ дан 1 December 2019 в 09:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: