web-dev-qa-db-fra.com

Erreur "L'objet ne prend pas en charge cette propriété ou cette méthode" dans IE11

Je reçois l'erreur

Erreur critique: L'objet ne prend pas en charge cette propriété ou cette méthode addeventlistener

lors de l'accès à la page de formulaire InfoPath (à l'aide du formulaire de liste activé par InfoPath, par exemple displayifs.aspx) dans le navigateur IE 11).

Cette erreur est spécifique à IE 11, la page s'ouvre correctement dans IE 10 et inférieur. Selon cette publication MSDN) , IE 11 prend en charge addEventListener.

Quelqu'un a une idée à ce sujet?

30
VSP

Cela rompt malheureusement d'autres choses. Voici le correctif que j'ai trouvé sur un autre site qui semblait fonctionner pour moi:

Je dirais laisser le X-UA-Compatible comme "IE=8" et ajoutez le code suivant au bas de votre page maître:

<script language="javascript">
    /* IE11 Fix for SP2010 */
    if (typeof(UserAgentInfo) != 'undefined' && !window.addEventListener) 
    {
        UserAgentInfo.strBrowser=1; 
    } 
</script>

Cela corrige un bug dans core.js qui calcule incorrectement qui définit UserAgentInfo.strBrowse=3 pour IE11 et donc pour supporter addEventListener. Je ne suis pas tout à fait sûr des détails, mais la combinaison de garder IE = 8 et d'utiliser ce script fonctionne pour moi. Je croise les doigts jusqu'à ce que je trouve le prochain "bug" d'IE11/SharePoint!

30
user3116631

Le meilleur moyen de résoudre ce problème jusqu'à ce qu'un correctif soit disponible (si un correctif est fourni) consiste à forcer le mode de compatibilité IE sur l'utilisateur).

Utilisation <META http-equiv="X-UA-Compatible" content="IE=9"> idéalement dans la page principale afin que toutes les pages de votre site obtiennent la solution de contournement.

20
Chris R

Ajoutez l'extrait de code dans le fichier JS utilisé dans le gabarit ou utilisé globalement.

<script language="javascript">
if (typeof browseris !== 'undefined') {
    browseris.ie = false;
}
</script>

Pour plus d'informations, consultez le blog: http://blogs2share.blogspot.in/2016/11/object-doesnt-support-property-or.html

2
Vikas Bansal

Nous étions également confrontés à ce problème lorsque nous utilisions IE version 11 pour accéder à notre application React avec ( réagissez à la version 16.0.0 avec jQuery v3.1.1) sur l’intranet de l’entreprise. Pour le résoudre, j’ai tout simplement suivi les instructions données à cette rl , qui figurent également ci-dessous:

  1. Assurez-vous de définir DOCTYPE en mode standard en vous assurant que la première ligne du fichier maître est: <!DOCTYPE html>

  2. Forcer IE 11 à utiliser la dernière version interne en incluant la balise méta suivante dans la balise head: <meta http-equiv="X-UA-Compatible" content="IE=Edge;" />

REMARQUE: je n'ai pas rencontré le problème lors de l'utilisation de IE pour accéder à l'application en mode de développement sur mon ordinateur local (localhost: 3000). . Le problème ne s'est produit que lors de l'accès à l'application déployée sur le serveur DEV sur l'intranet de l'entreprise, probablement en raison de certains paramètres de stratégie du système d'exploitation Windows de l'entreprise et/ou IE Options Internet.

2
Alan C. S.

Je suis confronté au même problème et, étonnamment, les méta-tags n’ont pas fonctionné cette fois-ci. Il s'avère que la société avec laquelle je coopère actuellement a ceci paramètre de mode entreprise qui a priorité sur la méta-tag.

Nous ne pouvons pas changer le problème de stratégie cause cause. Heureusement, je n'ai pas vraiment besoin de fonctionnalités sophistiquées, mais d'une utilisation basique de jQuery; ma solution finale est donc de passer de la version 1.12 à la version 1.12 pour une meilleure compatibilité.

ref: jQuery - support du navigateur

1
蕭為元

Ce qui a corrigé cela pour moi, c’est que j’avais un composant React] rendu avant le chargement de mon shim core.js.

import ReactComponent from '.'
import 'core-js/es6'

Charger le core-js avant le ReactComponent a résolu mon problème

import 'core-js/es6'
import ReactComponent from '.'
1
wegry

Nous avons défini le mode de compatibilité pour IE11 afin de résoudre un problème: Paramètres> Paramètres d'affichage de compatibilité> Ajouter le nom de votre site ou cochez la case "Afficher les sites intranet en affichage de compatibilité" si votre portail se trouve sur l'intranet.

IE version 11.0.9600.16521

Travaillé pour nous, espérons que cela aide quelqu'un.

0
Rustam Ismagilov