Maison > interface Web > js tutoriel > le corps du texte

Problèmes de compatibilité rencontrés par les objets Date en JavaScript entre Safari et IOS

php是最好的语言
Libérer: 2018-07-28 13:46:19
original
1803 Les gens l'ont consulté

Récemment, l'éditeur travaille sur une fonction de réservation de salle de conférence. Cette fonction revient à sélectionner des places lors de l'achat de billets de cinéma. Vous pouvez voir à quelle période la salle de conférence est libre, quel équipement est disponible, etc. Puisque je crée une application, l'application doit être compatible avec Android et IOS. J'ai utilisé Google Chrome pour le développement initial et le débogage. Je n'ai pas utilisé d'autres navigateurs pour les tests. Qui savait qu'il y aurait un gros problème dans le système. fin ? des dangers cachés. Ci-dessous mon interface.

Problèmes de compatibilité rencontrés par les objets Date en JavaScript entre Safari et IOS

Question 1 :

Cette interface utilise beaucoup de calculs de type date Lorsque nous utilisons JavaScript pour instancier un objet date, nous pouvons l'utiliser comme ceci. :

var date =new Date();
Copier après la connexion

Le code ci-dessus permet d'obtenir la date actuelle. Ce code peut être exécuté dans les navigateurs Firefox, Chrome et Safari. Mais si je veux obtenir la date basée sur une chaîne, le problème vient. Regardez le code ci-dessous.

var date =new Date("2016-05-31 08:00");
Copier après la connexion

Ce code permet d'obtenir la date spécifiée dans les caractères. Il peut être exécuté dans Firefox et Chrome, mais lorsqu'il est placé dans Safari, une erreur sera signalée. L'erreur est NaN, ce qui signifie Non. un nombre. À cause de cette erreur, les téléphones Apple ne pouvaient pas exécuter normalement l'interface que j'avais développée. J'étais presque déprimé à l'époque. J'ai écrit 300 lignes de js, qui étaient presque toutes liées au temps, soit en prenant des valeurs, soit en attribuant des valeurs. calcul. Maintenant, IOS n'est pas pris en charge. . . . . . .

J'ai cherché sur Internet et j'ai écrit le code comme ceci :

var date =new Date("2016/05/31 08:00");
Copier après la connexion

De cette façon, Android et IOS peuvent le partager, j'ai écrit une fonction et je l'ai remplacée !

  1. function GetDateDiff(startDiffTime, endDiffTime) {

  2. /Convertir le format d'heure xxxx-xx-xx au format xxxx/xx/xx

  3. startTime = startDiffTime .replace(/ -/g, "/");
  4. endTime = endDiffTime.replace(/-/g, "/");
  5. };

Question 2 :

Un nouveau calendrier est ajouté dans le Contrôle HTML5, si le type du champ est "datetime-local", s'il s'agit de Chrome, le format d'affichage de la date du champ est 2016/05/30 08:00, s'il s'agit de Safari, le format d'affichage de la date est : 2016-05-31T08 :00 , lorsque nous utilisons JQuery pour obtenir et attribuer des valeurs, nous devons utiliser cette méthode pour attribuer des valeurs : Si l'identifiant de ce contrôle de calendrier est timeDate, le code est le suivant :

$("#timeDate').val("2016-05-30T08:30");
Copier après la connexion

Utilisez $( "#timeDate') .val("2016/05/30 08:30"); signalera une erreur

Articles associés :

JavaScript nouvelle date et autres fonctions de date rencontrées dans Safari. Pièges

Objet Date en JavaScript

Vidéos associées :

Objet intégré JS-Objet date Date. -Tutoriel vidéo de base d'entrée JavaScript

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:php.cn
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