Использование onerror в iframe - PullRequest
0 голосов
/ 04 октября 2018

Следующий фрагмент заменит изображение PNG изображением GIF, если ссылка не работает или не существует.Я пытался применить это на iframe, но это не похоже на работу.Это вообще возможно?

<html>

	<body>

	<iframe src="index1.html" onerror="this.onerror=null;this.src='https://media.giphy.com/media/3oEjI6SIIHBdRxXI40/giphy.gif';"> </iframe>
	<img src="test.png" onerror="this.onerror=null;this.src='https://media.giphy.com/media/3oEjI6SIIHBdRxXI40/giphy.gif';" />

	</body>

</html>

Буду очень признателен за ответ.Заранее спасибо!:)

1 Ответ

0 голосов
/ 04 октября 2018

Событие onerror вызывается, если при загрузке внешнего файла (например, документа или изображения) возникает ошибка.

Содержимое iframe не является файлом, поэтому выигрыш onerrorне сработает.Вы можете использовать JS, чтобы проверить, получите ли вы ответ об успешном выполнении HTTP (200).

var myRequest = new Request('index1.html');

fetch(myRequest).then(function(response) {
  console.log(response.status); // returns 200
}).catch(function(error) {
  document.getElementById("iframe-id").src = "/your/file/path/here/somePage.html";
});
<iframe id="iframe-id" src="index1.html"> </iframe>
<img src="test.png" onerror="this.onerror=null;this.src='https://media.giphy.com/media/3oEjI6SIIHBdRxXI40/giphy.gif';" />
...