Событие 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';" />