Pour ce problème, je ne sais pas si je devrais reprocher à IE6 de ne pas se mettre à jour automatiquement, ou si je devrais maudire la norme W3C pour ne pas être rétrocompatible.
Il s'agit de la méthode d'intégration traditionnelle de FLASH :
< objet identifiant de classe = " ID de classe :D27CDB6E-AE6D-11cf-96B8-444553540000 " codebase = " http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0 " largeur = " 32 " hauteur = " 32 " >
< paramètre nom = " film " valeur = " test.swf " />
< paramètre nom = " qualité " valeur = " élevé » />
< intégrer src = " test.swf " qualité = " élevée " pluginspage = " http://www.macromedia.com/go/getflashplayer " type = " application/x-shockwave-flash " largeur = " 32 " hauteur = " 32 " ></ intégrer >
</objet>
Utilisez les balises object et embed pour intégrer. Si vous faites attention, vous constaterez que de nombreux paramètres d'objet et de nombreux attributs d'intégration sont répétés.
Certains navigateurs prennent en charge les objets et d'autres l'intégration, c'est pourquoi les deux emplacements doivent être modifiés lors de la modification des paramètres Flash. Cette méthode a toujours été la méthode officielle de Macromedia, garantissant au maximum les fonctionnalités de Flash sans problèmes de compatibilité.
Mais depuis que la norme W3C a émergé et que certains clients ont fait de gros efforts pour la respecter, les choses sont devenues compliquées :
l'intégration est considérée comme illégale
La balise embed est une balise privée de Netscape Bien que la balise embed soit largement utilisée, de HTML3.2, HTML4.0 à XHTML1.0, le W3C n'a pas inclus cette balise. Les pages utilisant la balise embed ne passeront pas la validation W3C.
En fait, ils ont raison de penser de cette façon. Pour la plupart des utilisateurs des pays occidentaux, le véritable système Vista a été largement popularisé. La plupart d'entre eux utilisent des navigateurs grand public tels que IE7.0/IE8.0. L'utilisation de balises aussi brèves peut en sauver plusieurs. lignes de code :
Cependant, en Chine, où le piratage est endémique, la plupart des utilisateurs utilisent toujours le navigateur IE6 fourni avec les systèmes Windows XP, et il ne prend pas en charge la balise d'objet, les solutions de contournement ne peuvent donc être utilisées que pour le résoudre.
Mesures provisoires actuelles
Que dois-je faire pour non seulement respecter les normes mais aussi afficher correctement le flash dans tous les navigateurs ? Nous pouvons ajouter un long JavaScript pour masquer la balise embed :
Non seulement cela, vous devez également ajouter plusieurs paramètres pour appeler le JS dans la page
Puis un nouveau problème surgit, que se passe-t-il si l'utilisateur désactive javascript ?
Devons-nous d'abord écrire plus de code pour déterminer le navigateur que l'utilisateur utilise, puis afficher le code approprié en fonction du navigateur ? Bon sang, dans quelle mesure cela affecte-t-il l'efficacité de l'exécution des pages ? Dans l'intérêt d'une norme du W3C, autant de lignes de code sont ajoutées pour faire attendre une seconde supplémentaire à chaque utilisateur qui visite votre site Web ?
Donc le point que je veux faire valoir est le suivant :
À l'heure actuelle, dans l'environnement où IE6 est populaire, ne considérez pas la norme W3C pour le moment. Créez vos propres pages avec soin et écrivez le moins de lignes de code possible. Ne faites pas de normes pour le plaisir des normes.