web-dev-qa-db-fra.com

IE11 Angular 2 "Identifiant, chaîne ou numéro attendu"

Eh bien, j'ai créé un site en utilisant Angular 2. Lorsque j'exécute la commande "ng-serve" et que j'essaie de tester mon site en utilisant " http: // localhost: 42 "dans Google Chrome et IE11, cela fonctionne parfaitement, mais, si je crée un projet à l'aide de" ng-build --prod ", l'héberger sur IIS. Le site fonctionne toujours sur Chrome, mais IE11 affiche le erreurs suivantes: Expected identifier, string or number

Je l'ai googlé et j'ai découvert qu'il s'agissait peut-être de mots réservés dans ma clé d'identification: paires de valeurs. J'ai donc ajouté des apostrophes (') autour de mes clés. Par exemple, j'avais l'objet suivant:

user:UserViewModel={
    Username:"",
    Age:0
};
and changed this to:
user:UserViewModel={
    'Username':"",
    'Age':0
};

Également supprimé les dernières virgules de la clé: paires de valeurs et importé core.js dans polyfills.ts

22
Dato Maisuradze

Le problème principal est IE a le mode de compatibilité activé par défaut. Et IE 11 a quelques problèmes de mode de compatibilité. Selon la question suivante, répondez Angulaire 2/4 ne fonctionne pas dans IE11

Lorsque j'ai essayé de désactiver le mode de compatibilité, cela fonctionne bien .

Mais l'utilisateur général ne désactivera pas le mode de compatibilité. Je veux donc une bonne solution pour cela.

Ensuite, j'ai trouvé le formulaire de solution suivant Force IE mode de compatibilité désactivé à l'aide de balises

      <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
18