Maison > interface Web > js tutoriel > Problèmes et solutions pour la compatibilité IE en JavaScript

Problèmes et solutions pour la compatibilité IE en JavaScript

不言
Libérer: 2019-03-26 10:38:44
avant
2177 Les gens l'ont consulté

Le contenu de cet article concerne les problèmes de compatibilité IE et les solutions en JavaScript. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Problèmes qui se produisent dans le navigateur IE

1. Impossible d'exécuter le code du script publié

1. Contexte de l'apparition du bug :

<.>Lors de l'utilisation de la balise iframe, ce bug se produira si la page enfant transmet les objets créés sur la page enfant à la page parent (tous les objets, y compris les tableaux, fonctions, expressions régulières, etc.).

2. Raison du bug :

Lorsque la sous-page est fermée, les objets déclarés et attribués dans la sous-page seront libérés. Par conséquent, toutes les opérations de référence à cet objet dans la page parent généreront cette erreur JS.

3. Il existe deux solutions :

Tout d'abord, créez tous les objets sur la page parent et attribuez des valeurs de chaîne à cet objet sur la page enfant.

Deuxièmement, si le nombre d'objets générés par la sous-page est variable, utilisez JSON.stringfy() pour transformer les objets à renvoyer en chaînes. Utilisez ensuite JSON.parse() dans la page parent pour la transformer en objet.

La valeur de JS new Date() dans les navigateurs IE et Firefox est Invalid Date, NaN-NaN

Informations de capture d'écran


Problèmes et solutions pour la compatibilité IE en JavaScript

1. Contexte du problème :

Dans le navigateur IE, ce problème se produira lors de l'utilisation de la nouvelle méthode Date("xxxx") pour convertir une chaîne de chaînes de date dans un format de date spécifique. Par exemple :
new Date("2019-03-21 10:41:33") //[date] Invalid Date[date] Invalid Date
Mais cette méthode peut renvoyer le résultat correct sur Google Chrome .

2. Cause du problème :

Le format de la chaîne n'est pas reconnu par le navigateur IE, ce qui entraîne


Solution :

new Date("2019/03/21 10:41:33") //[date] jeu. 21 mars 2019 10:41:33 GMT+0800 (heure normale de Chine)[date] jeu. 21 mars 2019 10 : 41 : 33 GMT+0800 (heure normale de Chine)

Remarque : lors de son utilisation, nous pouvons convertir le format de chaîne de date en un format pris en charge par le navigateur via la conversion de chaîne lors de l'utilisation de new Date().

var date = '2019-03-21 10:41:33';
date = date.replace(new RegExp(/-/gm) ,"/");   //将所有的'-'转为'/'即可
Date d=new Date(date);
Copier après la connexion
4. Résumé

Différents navigateurs ont des différences. Les méthodes prises en charge par tous les navigateurs sont répertoriées ci-dessous.

var d = new Date(2019, 01, 07); // yyyy, mm-1, dd  
 var d = new Date(2019, 01, 07, 11, 05, 00); // yyyy, mm-1, dd, hh, mm, ss  
 var d = new Date("02/07/2019"); // "mm/dd/yyyy"  
var d = new Date("02/07/2019 11:05:00"); // "mm/dd/yyyy hh:mm:ss"  
var d = new Date(1297076700000); // milliseconds  
var d = new Date("Mon Feb 07 2019 11:05:00 GMT"); // ""Day Mon dd yyyy hh:mm:ss GMT/UTC
Copier après la connexion
Cet article est terminé ici. Pour un contenu plus passionnant, vous pouvez faire attention à la colonne

Tutoriel vidéo JavaScript du site Web PHP chinois !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal