Maison interface Web Tutoriel H5 Résoudre les problèmes de compatibilité du navigateur avec les nouvelles balises HTML5

Résoudre les problèmes de compatibilité du navigateur avec les nouvelles balises HTML5

Apr 30, 2017 am 11:00 AM

Après tout, la spécification HTML5 est une spécification qui vient d'être définie. Certains navigateurs ne peuvent toujours pas prendre en charge les nouvelles balises et les nouveaux attributs, notamment les navigateurs d'IE8 et inférieurs. Ce qui suit est une introduction à la version compatible avec les navigateurs pour gérer les nouvelles balises HTML5. Les amis qui en ont besoin peuvent se référer à

Après tout, la spécification HTML5 est une spécification qui vient d'être définie. qui ne prend pas en charge les nouvelles balises et les nouvelles propriétés, en particulier pour les navigateurs IE8 et inférieurs. Ce qui suit présente quelques méthodes pratiques pour utiliser les nouvelles balises HTML5 dans les pages. Le but est de permettre aux nouvelles balises HTML5 de bénéficier d'une prise en charge limitée dans les navigateurs de bas niveau et de ne pas affecter l'ensemble de la fonction de la page.

  • Laisser le navigateur reconnaître les nouvelles balises dans la spécification HTML5

Dans le navigateur IE8 La prise en charge des nouvelles balises HTML5 n'a pas encore été ajoutée, de sorte que le contenu des nouvelles balises HTML5 ne peut pas être affiché directement dans IE8. Heureusement, IE8/IE7/IE6 prend en charge les balises générées par la méthode document.createElement. Vous pouvez utiliser cette fonctionnalité pour que ces navigateurs prennent en charge les nouvelles balises HTML5 :

var e = "abbr, article, aside, audio, canvas, datalist, details, dialog, eventsource, figure, footer, header, hgroup, mark, menu, meter, nav, output, progress, section, time, video".split(', ');
var i= e.length;
while (i--){
    document.createElement(e[i])
}
Copier après la connexion
<. 🎜>

Une fois que le navigateur prend en charge la nouvelle balise, vous devez également ajouter le style par défaut de la balise :

article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}
mark{background:#FF0;color:#000}
Copier après la connexion

Ces deux codes JavaScript simples et un code CSS peuvent permettre aux navigateurs IE8 et inférieurs de prendre en charge les nouvelles balises en HTML5. Bien sûr, le meilleur moyen est d'utiliser directement un framework mature.Il existe actuellement plusieurs frameworks basés sur cette idée. Le framework le plus couramment utilisé est le framework html5shim. La méthode d'utilisation de html5shim est très simple. dans la partie en-tête de la page :

<!--[if lt IE 9]>
<script> src="http://html5shim.googlecode.com/svn/trunk/html5.js"</script>
<![endif]-->
Copier après la connexion

  • Rétrocompatibilité des nouvelles fonctionnalités en HTML5

HTML5 au sens large comprend HTML5, CSS3 et de nouvelles API. Étant donné que les nouvelles fonctionnalités peuvent présenter des problèmes de compatibilité avec le navigateur, il est très nécessaire de vérifier si le navigateur prend en charge cette fonctionnalité lors de l'utilisation de nouvelles fonctionnalités. Lorsque le navigateur ne prend pas en charge les nouvelles fonctionnalités, un traitement de compatibilité ascendante approprié peut être effectué. Actuellement, il n'existe aucune méthode unifiée pour détecter la prise en charge de nouvelles fonctionnalités. Certaines nouvelles fonctionnalités ont des API correspondantes qui peuvent être identifiées, et certaines nouvelles fonctionnalités ne peuvent être identifiées que par certaines techniques. Heureusement, des ingénieurs enthousiastes à l'étranger ont développé plusieurs cadres pour détecter de nouvelles fonctionnalités, parmi lesquels Modernizr offre une précision de détection et un taux d'utilisation plus élevés.

Le principe du framework Modernizr est de détecter automatiquement si le navigateur prend en charge de nouvelles fonctionnalités et d'ajouter la classe correspondante à la balise Si le navigateur prend en charge une fonctionnalité, une classe nommée avec le nom de la fonctionnalité sera ajoutée. Sinon, une classe nommée avec le préfixe « no- » plus le nom de la fonctionnalité sera ajoutée. Dans le même temps, un objet nommé modernizr sera également généré. En jugeant les valeurs d'attribut représentant chaque fonctionnalité sur cet objet, vous pourrez savoir si le navigateur actuel prend en charge cette nouvelle fonctionnalité. Le framework Modernizr inclut également les fonctions du framework html5shim, qui permet aux navigateurs IE8 et inférieurs de prendre en charge de nouvelles balises.

La méthode d'utilisation de Modernizr est très simple. Tout d'abord, introduisez le fichier JavaScript du framework dans la partie head :

<script src="js/modernizr.min.js"></script>
Copier après la connexion

Deuxièmement, ajoutez-le sur la balise html Une classe nommée no-js :

<html class="no-js">
Copier après la connexion

Si le navigateur ne désactive pas JavaScript, une fois que le navigateur charge la page , la classe sur la balise html effectuera une substitution et un ajout dynamiques. Après le chargement, la balise html ressemble à ce qui suit :

<html class="js canvas canvastext geolocation rgba hsla no-multiplebgs borderimage borderradius boxshadow opacity no-cssanimations csscolumns no-cssgradients no-cssreflections csstransforms no-csstransforms3d no-csstransitions  video audio cufon-active fontface cufon-ready">
Copier après la connexion

Dans le code CSS, vous pouvez ajouter du code de compatibilité ascendante en utilisant ces classes suivantes. est une méthode utilisant plusieurs exemples d'images d'arrière-plan :

#nice {
    background: url(background-one.png) top left repeat-x;
}
.multiplebgs #nice {
    background: url(background-one.png) top left repeat-x,url(background-two.png) bottom left repeat-x;
}
Copier après la connexion

Les lecteurs intéressés par ce framework peuvent parcourir le site officiel de Modernizr pour des exemples plus détaillés et une manière d'utiliser .

  • Compatibilité audio et vidéo

L'audio et la vidéo sont sur la page Les balises multimédias sont couramment utilisées dans les médias, mais la compatibilité des navigateurs est assez déroutante, elles sont donc traitées ici comme un sujet distinct. L'audio et la vidéo sont des fonctionnalités relativement anciennes qui sont nativement prises en charge par les navigateurs, de sorte que la lecture audio et vidéo n'est plus limitée aux plug-ins tiers, en particulier sur les plates-formes mobiles. L'audio et la vidéo représentent une part importante du gâteau, et chaque fabricant de navigateur souhaite obtenir la plus grosse part. Cela a également conduit à une différenciation des formats audio et vidéo pris en charge par les navigateurs. La liste des formats audio pris en charge par le navigateur est la suivante :

Navigateur

Version

Formats pris en charge

Internet Explorer

9.0+

MP3, AAC

Chrome

6.0+

Ogg Vorbis, MP3, WAV (9.0+)

Firefox

3.6+

Ogg Vorbis, WAV

Safari

5.0+

MP3, AAC, WAV

Opéra

10.0+

Ogg Vorbis, WAV

大约有80%的浏览器支持HTML5的

<audio controls>
    <source src="elvis.mp3" type=&#39;audio/mpeg; codecs="mp3"&#39;>
    <source src="elvis.oga" type=&#39;audio/ogg; codecs="vorbis"&#39;>
    <!-- 向后兼容代码:如,显示提示信息、提供下载链接使用flash播放器等 -->
    浏览器不支持<code>audio</code>标签
</audio>
Copier après la connexion

视频也有和音频类似的状况,如下是浏览器支持视频的格式列表:

浏览器

版本

支持格式

Internet Explorer

9.0+

MP4

Chrome

6.0+

MP4,WebM,Ogg

Firefox

3.6+

WebM,Ogg

Safari

5.0+

MP4

Opera

10.0+

WebM,Ogg

从浏览器支持的视频格式来看,最佳的方式是提供WebM和MP4两种格式的视频。兼容代码如下:

<video controls>    
    <source src=video.webm type=video/webm>    
    <source src=video.mp4 type=video/mp4>      
    <!—向后兼容代码: -->      
    <iframe width="480" height="360" src="http://www.youtube.com/embed/xzMUyqmaqcw?rel=0" frameborder="0" allowfullscreen></iframe>  
</video>
Copier après la connexion

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser les balises META de la fenêtre pour contrôler la mise à l'échelle des pages sur les appareils mobiles? Comment utiliser les balises META de la fenêtre pour contrôler la mise à l'échelle des pages sur les appareils mobiles? Mar 13, 2025 pm 08:00 PM

L'article discute de l'utilisation de balises Meta pour contrôler la mise à l'échelle des pages sur les appareils mobiles, en se concentrant sur des paramètres tels que la largeur et l'échelle initiale pour une réactivité et des performances optimales. COMMANDE: 159

Comment exécuter le projet H5 Comment exécuter le projet H5 Apr 06, 2025 pm 12:21 PM

L'exécution du projet H5 nécessite les étapes suivantes: Installation des outils nécessaires tels que le serveur Web, Node.js, les outils de développement, etc. Créez un environnement de développement, créez des dossiers de projet, initialisez les projets et écrivez du code. Démarrez le serveur de développement et exécutez la commande à l'aide de la ligne de commande. Aperçu du projet dans votre navigateur et entrez l'URL du serveur de développement. Publier des projets, optimiser le code, déployer des projets et configurer la configuration du serveur Web.

Comment gérer la confidentialité de l'emplacement de l'utilisateur et les autorisations avec l'API Geolocation? Comment gérer la confidentialité de l'emplacement de l'utilisateur et les autorisations avec l'API Geolocation? Mar 18, 2025 pm 02:16 PM

L'article traite de la gestion de la confidentialité de l'emplacement des utilisateurs et des autorisations à l'aide de l'API Geolocation, mettant l'accent sur les meilleures pratiques pour demander des autorisations, assurer la sécurité des données et se conformer aux lois sur la confidentialité.

Comment utiliser l'API de visibilité de la page HTML5 pour détecter quand une page est visible? Comment utiliser l'API de visibilité de la page HTML5 pour détecter quand une page est visible? Mar 13, 2025 pm 07:51 PM

L'article discute de l'utilisation de l'API de visibilité de la page HTML5 pour détecter la visibilité de la page, améliorer l'expérience utilisateur et optimiser l'utilisation des ressources. Les aspects clés comprennent la pause des supports, la réduction de la charge du processeur et la gestion de l'analyse en fonction des changements de visibilité.

Comment utiliser l'API HTML5 glisser-déposer pour les interfaces utilisateur interactives? Comment utiliser l'API HTML5 glisser-déposer pour les interfaces utilisateur interactives? Mar 18, 2025 pm 02:17 PM

L'article explique comment utiliser l'API HTML5 Drag and Drop pour créer des interfaces utilisateur interactives, détaillant les étapes pour rendre les éléments dragables, gérer les événements clés et améliorer l'expérience utilisateur avec des commentaires personnalisés. Il discute également des pièges communs à un

La production de pages H5 nécessite-t-elle une maintenance continue? La production de pages H5 nécessite-t-elle une maintenance continue? Apr 05, 2025 pm 11:27 PM

La page H5 doit être maintenue en continu, en raison de facteurs tels que les vulnérabilités du code, la compatibilité des navigateurs, l'optimisation des performances, les mises à jour de sécurité et les améliorations de l'expérience utilisateur. Des méthodes de maintenance efficaces comprennent l'établissement d'un système de test complet, à l'aide d'outils de contrôle de version, de surveiller régulièrement les performances de la page, de collecter les commentaires des utilisateurs et de formuler des plans de maintenance.

Que signifie exactement la production de pages H5? Que signifie exactement la production de pages H5? Apr 06, 2025 am 07:18 AM

La production de pages H5 fait référence à la création de pages Web compatibles compatibles multiplateformes à l'aide de technologies telles que HTML5, CSS3 et JavaScript. Son cœur réside dans le code d'analyse du navigateur, la structure de rendu, le style et les fonctions interactives. Les technologies courantes incluent les effets d'animation, la conception réactive et l'interaction des données. Pour éviter les erreurs, les développeurs doivent être débogués; L'optimisation des performances et les meilleures pratiques incluent l'optimisation du format d'image, la réduction des demandes et les spécifications du code, etc. pour améliorer la vitesse de chargement et la qualité du code.

Comment utiliser l'API HTML5 WebSockets pour la communication bidirectionnelle entre le client et le serveur? Comment utiliser l'API HTML5 WebSockets pour la communication bidirectionnelle entre le client et le serveur? Mar 12, 2025 pm 03:20 PM

Cet article explique l'API HTML5 WebSockets pour la communication client-serveur bidirectionnelle en temps réel. Il détaille les implémentations côté client (JavaScript) et côté serveur (Python / Flask), résolvant des défis tels que l'évolutivité, la gestion de l'état, un

See all articles