Introduction de l'article de wulin.com (www.vevb.com): iOS version 4.2 Safari prend en charge les mises à jour des fonctionnalités HTML5.
Article compilé à partir de Safari sur iOS 4.2: Accéléromètre, WebSockets, SVG, AJAX2 et meilleure prise en charge HTML5
Eh bien, on dit que iOS 4.2 a été publié, et tous les iPhones, iPod, iPad, etc. peuvent être mis à jour gratuitement. Il est gratifiant que cette version d'iOS ait une mise à niveau relativement importante en matière de prise en charge des nouvelles fonctionnalités HTML5, y compris la prise en charge de WebSockets et l'accéléromètre, un nouvel événement, la prise en charge de l'impression, les nouveaux types de données JavaScript et une meilleure prise en charge SVG.
En fait, Apple n'a pas encore mis à jour la documentation Safari. Les informations ici sont uniquement basées sur la recherche et les tests JavaScript de Safari (Remarque: Safari fait référence au navigateur Safari dans les appareils mobiles iOS, sans compter safari sur les machines PC et Mac). Plus précisément, les nouvelles fonctionnalités détectées sont les suivantes:
Prise en charge de l'accélérateurVous savez peut-être déjà que les appareils iOS ont des capteurs d'accélération (et d'autres, comme le magnétisme et les gyroscopes), mais jusqu'à présent, les développeurs Web n'ont pas la permission d'exploiter ces capteurs. Safari prend désormais en charge l'API de dilatation de l'orientation de Device (W3C Draft), mais bien qu'il semble que toutes les API soient prises en charge (y compris les événements OndeviceOrientation et OndeviceMotion), dans les tests, je ne peux qu'utiliser avec succès les données de l'accélérateur.
Si vous avez déjà un périphérique iOS 4.2, vous pouvez utiliser le navigateur Safari pour accéder à ad.ag/jtjdmj pour le tester vous-même.
Pour détecter 50 changements de données d'accéléromètre par seconde, vous devez écouter l'événement OndeviceMotion sur l'objet Global Window, puis utiliser la propriété AccelerationCluceDegravity sur le paramètre DeviceoritationationEvent. Il a trois valeurs: x, y et z, qui représentent l'accélération G (gravité) sur chaque coordonnée respectivement. Vous pouvez utiliser des comptes d'accélération dans les jeux, les effets ou les animations CSS.
12345window.event
Sockets websocketsUne autre grande mise à jour est la prise en charge de WebSockets. WebSockets est une API HTML5 W3C qui est toujours à l'état de projet, permettant à JavaScript d'utiliser une connexion à double travail à double sens à un serveur via des sockets TCP. C'est une très bonne nouvelle pour le chat et les applications en temps réel, car les appels périodiques de l'Ajax peuvent être considérablement réduits.
Vous aurez besoin d'un serveur qui peut comprendre le nouveau protocole WebSocket via une poignée de main HTTP. Si le serveur ne prend pas en charge WebSocket ou pour des raisons proxy / passerelle, vous vous appuyerez également sur un mécanisme de secours.
Prise en charge du formulaire HTML5En fait, la prise en charge de WebKit pour les formulaires HTML5 est relativement bonne. Maintenant, Safari dans iOS 4.2 a commencé à soutenir l'attribut requis et: pseudo-classe CSS non valide. De cette façon, le code suivant affichera une zone de texte qui affiche un fond vert lorsqu'il est entré correctement, et un fond jaune lorsqu'il est incorrect.
<style> entrée {fond-couleur: vert; couleur: blanc;} entrée: invalide {fond-couleur: jaune;} requis>
Ajax2L'objet nommé FormData nous permet de générer facilement des données de formulaire via AJAX.
Support impriméiOS 4.2 présente AirPrint, une solution d'impression illimitée. Autrement dit, nous pouvons maintenant utiliser Window.print pour appeler la boîte de dialogue imprimée dans Safari.
De nouveaux types de données JavaScriptSafari prend désormais en charge les collections de classes binaires (classe BLOB) et de nombreux types entiers, tels que float32Array, int8Array, uint8array, int16Array Unit16Array, int32Array et uint32Array, etc. Arrays définis dans les spécifications des tableaux tapés. Plus d'informations sont accessibles.
Nouveaux événements DOMDans le nouvel événement de classe d'action, nous pouvons désormais utiliser HTML 5 New OnHashChange pour détecter les modifications après le hash (#) dans les URL dans Ajax-Class WebApps, ainsi que les événements invalides, OnBeForeLoad et OnPopState dans les spécifications du projet HTML5.
Maintenant, nous pouvons également utiliser Window.CaptureEvents et Window.ReleaseEvents pour écouter les événements dans la méthode globale.
SVG et Canvas soutiennent les améliorationsIOS prend en charge SVG en tant que fichiers autonomes ainsi que SVG en ligne (en utilisant les balises SVG). Maintenant, nous pouvons créer des documents SVG directement dans notre document - en utilisant plus de 20 classes SVG___ comme SVGDocument, SvGimage, etc ...
Pour Canvas, le type de données IMAGEDATA est maintenant pris en charge, un moyen de manipuler les images au niveau des pixels à partir de JavaScript.
D'autres chosesPS: Comme je n'ai pas iPhone, iPad, etc., il n'y a aucun moyen de tester le contenu dans l'article un par un. Si vous trouvez des erreurs ou un nouveau contenu, veuillez le soumettre en laissant un message. Je mettrai à jour cet article à temps. Merci - Shenfei