php echo中的OnError图像处理

时间:2016-09-20 20:55:34

标签: javascript php html

我试图处理从omdbapi.com提取的404图像,但我的代码无效。我循环遍历一个数组来构建一个电影列表。

echo '<a href="'.$oIMDB->getUrl().'" target="_new"><img class="img-responsive img-thumbnail posterImage" onError=\"this.onError=null;this.src='error.png'; this.onclick=null;\" src="https://img.omdbapi.com/?i=' . $user['imdbID'] . '&apikey=secret" height="300"></a>';

当我检查Chrome中的代码时,它看起来像这样:

<img class="img-responsive img-thumbnail posterImage" this.onclick="null;\&quot;" height="300" data-pagespeed-url-hash="282594047" src="https://img.omdbapi.com/?i=tt5898034&amp;apikey=secret" onerror="this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);" data-pagespeed-lazy-replaced-functions="1">

首先,我认为问题出在回声中的单引号/双引号,但后来我看到lazyload出现在错误的中间。

lazyload会以某种方式导致问题吗?我没有故意在我的网页上加入lazyload。当包含jQuery时,默认情况下可能会启用它?

非常感谢任何输入!

1 个答案:

答案 0 :(得分:0)

printf()

将JavaScript代码添加到项目中并编辑PHP:

function imageError(e){
	e.setAttribute("src","error.png");
	e.removeAttribute("onError");
	e.removeAttribute("onclick");
}

您可以像这样编辑PHP(不添加自定义JavaScript函数):

echo '<a href="'.$oIMDB->getUrl().'" target="_new"><img class="img-responsive img-thumbnail posterImage" onError="imageError(this)" src="https://img.omdbapi.com/?i=' . $user['imdbID'] . '&apikey=secret" height="300"></a>';