Ошибка "Object не поддерживает это свойство или метод" в IE11
Я получаю сообщение об ошибке
Критическая ошибка: объект не поддерживает это свойство или метод addeventlistener
при доступе к странице формы InfoPath (с использованием формы списка включенных в InfoPath, например displayifs.aspx) в браузере IE 11.
Эта ошибка относится к IE 11, страница правильно открывается в IE 10 и ниже. Согласно этот пост MSDN, IE 11 поддерживает addEventListener.
У кого-нибудь есть идея по этому поводу?
Ответы
Ответ 1
Это, к сожалению, нарушает другие вещи. Вот исправление, которое я нашел на другом сайте, который, казалось, работал у меня:
Я бы сказал, оставьте X-UA-Compatible
как "IE=8"
и добавьте следующий код в нижнюю часть главной страницы:
<script language="javascript">
/* IE11 Fix for SP2010 */
if (typeof(UserAgentInfo) != 'undefined' && !window.addEventListener)
{
UserAgentInfo.strBrowser=1;
}
</script>
Это исправляет ошибку в core.js
, которая неправильно вычисляет, что устанавливает UserAgentInfo.strBrowse=3
для IE11 и, таким образом, поддерживает addEventListener
. Я не совсем уверен в деталях кроме этого, но комбинация сохранения IE = 8 и использования этого script работает для меня. Пальцы пересекались, пока я не нашел следующую ошибку "IE11/SharePoint"!
Ответ 2
Лучший способ решить эту проблему до тех пор, пока не будет доступно исправление (если это произойдет) - это принудительный режим совместимости IE с пользователем.
Используйте <META http-equiv="X-UA-Compatible" content="IE=9">
в идеале на главной странице, чтобы все страницы вашего сайта получили обходной путь.
Ответ 3
Добавить фрагмент кода в файле JS, который используется на главной странице или используется глобально.
<script language="javascript">
if (typeof browseris !== 'undefined') {
browseris.ie = false;
}
</script>
Для получения дополнительной информации обратитесь к блогу: http://blogs2share.blogspot.in/2016/11/object-doesnt-support-property-or.html
Ответ 4
Мы установили режим совместимости для IE11 для устранения проблемы: "Настройки" > "Параметры просмотра совместимости" > "Добавить имя вашего сайта" или "Проверить сайты интрасети в представлении совместимости", если ваш портал находится в интрасети.
IE версия 11.0.9600.16521
Работал для нас, надеюсь, что это поможет кому-то.
Ответ 5
Что для меня было исправлено, так это то, что у меня был компонент React, который был доведен до загрузки загрузочного ящика core.js.
import ReactComponent from '.'
import 'core-js/es6'
Загрузка ядра-js до ReactComponent исправила мою проблему
import 'core-js/es6'
import ReactComponent from '.'
Ответ 6
Я сталкиваюсь с аналогичной проблемой, и на этот раз не получилось, что метатег не работает.
Оказывается, компания, с которой я сейчас сотрудничаю, имеет этот параметр корпоративного режима, который имеет приоритет над метатегами.
Мы не можем изменить проблему политики причины установки. К счастью, мне не нужны какие-либо причудливые функции, но основное использование jQuery, поэтому мое окончательное решение - переключить свою версию на 1.12 для лучшей совместимости.
ref: jQuery - поддержка браузера