Периодически вылетает ошибка в Internet Explorer: "Не удалось открыть узел ххх.ххх.ххх. Операция прервана" или “Internet Explorer cannot open the Internet site ххх.ххх.ххх. Operation aborted”. Но если опять зайти по этой ссылке сайт может нормально открыться, а может и нет, может открыться раза с 10... Причем ошибка возникает только в ИЕ, в Mozilla и Opera ее нет.

При нажатии на кнопку OK часть загруженной страницы закрывалась (да, при этом IE иногда успевал отобразить часть страницы) и замещалась стандартной страницей ошибки “Невозможно отобразить страницу”/”Internet Explorer cannot display the webpage”.

 

 

Эта проблема в том, что IE очень не любит JS-скрипты, которые пытаются добавить элементы в существующую структуру Document_Object_Model. И это часто может приводить к отключению системы обработки скриптов и полной отмене рендеринга страницы в IE.

 

Ниже рабочий пример закодированной страницы, которая заставляет IE падать с такой же ошибкой:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>Internet Explorer: Operation Aborted. Sample error.</title>
</head>
<body>
<table>
<script>
document.body.appendChild(document.createElement('div'))
</script>
</table>
</body>
</html>

Одно из наиболее простых решений - дождаться, пока структура DOM будет полностью обработана в браузере. Для этого можно использовать событие window.onload.

 

Ниже пример решения с использованием события window.onload:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>Internet Explorer: Operation Aborted. Sample solution.</title>
</head> <body>
<ul>
<script>
window.onload = function(){
document.body.appendChild(document.createElement('div'))
}
</script>
</ul>
</body>
</html>

Ждем полной загрузки страницы перед запуском скриптов.

 

 

 

 

   
© 2023 systemadmins.ru All Rights Reserved