Важный момент: в div документ из ифрейма вставляется через innerHTML:
if (window.frames.ifrId.document.body.innerHTML != '') {
document.getElementById('div_id').innerHTML = window.frames.ifrId.document.body.innerHTML;
}
Это происходит и при первой загрузке и после смены страницы. Поэтому скрипт работает со страницей не как с фреймом, а напрямую. До смены src ифрейма это удаётся, а после невозможно достучаться и как к документу в фрейме.
Например вот так:
window.onload = function() {
var deleteAll = document.getElementById('ifrId').document.getElementById("delete_all");
deleteAll.onclick = function() {
alert('112');
}
}
При загрузке страницы обработчик click успешно навешивается на элемент, при клике по нему выводится алерт. Но после смены страницы обработчик перестаёт реагировать.