Подтвердить что ты не робот

Ошибка "Object не поддерживает это свойство или метод" в IE11

Я получаю сообщение об ошибке

Критическая ошибка: объект не поддерживает это свойство или метод addeventlistener

при доступе к странице формы InfoPath (с использованием формы списка включенных в InfoPath, например displayifs.aspx) в браузере IE 11.

Эта ошибка относится к IE 11, страница правильно открывается в IE 10 и ниже. Согласно этот пост MSDN, IE 11 поддерживает addEventListener.

У кого-нибудь есть идея по этому поводу?

4b9b3361

Ответ 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 - поддержка браузера