最近在一个仿制网站的制作过程中,制作完成的网站客户浏览时,浏览器会提示“Stack overflow at line: 0 ” 警告框,于是开始搜索关于“Stack overflow at line: 0 ” 的解决方法,发现网上大部分解决方法都是设置浏览器禁用脚本调试,这样只能解决当前浏览这个网页的电脑的表面问题,而根本问题并没有得到解决。经过我对所有HTML代码以及PHP代码的检查,最后发现问题所在:
以下为出错代码:
<img src="<?php echo $row[picurl];?>" onerror="this.src=images/nopic.gif" alt="<?php echo $row[title]?>" width="172" height="133" border="0" />
网页内的图片标签增加了一个“onerror“属性,这个属性在HTML中的作用的让IMG标签SRC路径找不到图片资源后使用“onerror“属性内的图片替换显示。
如果当IMG标签中的SRC找不到图片,而“onerror“属性内的nopic.gif文件如果不存在的话,“onerror“属性就会重复查找加载图片,导致提示“Stack overflow at line: 0 ” 数据溢出报错。
解决方法:去掉onerror="this.src=images/nopic.gif" 或者将images/nopic.gif属性内图片路径配置好即可!