При открытии веб-страницы появляется сообщение «Переполнение стека» в строке: 0. Я сделал скриншот следующим образом:
После анализа было обнаружено, что на веб-странице имеется код, аналогичный следующему:
<img src="pic.gif" onerror="javascript:this.src='/noPic.gif';" />
Анализ: обратите особое внимание на onerror. Когда изображение не существует, сработает onerror, а onerror указывает изображение NoPic.gif для img. То есть, если изображение существует, будет отображаться pic.gif, а если изображение не существует, будет отображаться noPic.gif. Но здесь возникает проблема: если noPic.gif не существует, onerror будет продолжать срабатывать, вызывая цикл, поэтому возникает ошибка.
Примечание. Если изображение существует, но сеть не работает гладко, также может возникнуть ошибка.
Решение: Во-первых: удалите код onerror или измените код onerror на что-то другое, или убедитесь, что изображение в onerror достаточно маленькое и существует.
Второй тип:
<тип сценария="текст/javascript">
<!--
функция nofind(){
вар img=event.srcElement;
img.src="../../../sys/common/image/fileoperation/icon/default.gif";
img.onerror=null; контроль, чтобы не продолжать биться
}
//Если не найдено, используйте события для получения по одному
//-->
</скрипт>
<td align="center"><img src="../../../sys/common/image/fileoperation/icon/${file.suffix }.gif" onerror="nofind();" / >${file.name</td>
Третий тип:
Используйте два <img/>
<style type="text/css">
скрытый {
дисплей: нет;
}
</стиль>
<img src="xxx.jpg" onerror="this.class='hidden';xx.class=''" />
<img src="xxx.jpg" />