Quelqu'un a-t-il un exemple de script qui peut fonctionner de manière fiable dans IE / Firefox pour détecter si le navigateur est capable d'afficher du contenu Flash intégré. Je dis de manière fiable parce que je sais que ce n'est pas possible à 100% du temps.
97
Réponses:
SWFObject est très fiable. Je l'ai utilisé sans problème pendant un bon moment.
la source
$('html').addClass(typeof swfobject !== 'undefined' && swfobject.getFlashPlayerVersion().major !== 0 ? 'flash' : 'no-flash');
if( swfobject.hasFlashPlayerVersion("8.0") ) { }
false si aucun flash n'est installé. Le nombre correspond à la version minimale requise de Flash Player.Je suis d'accord avec Max Stewart . SWFObject est la voie à suivre. J'aimerais compléter sa réponse par un exemple de code. Cela devrait vous aider à démarrer:
Assurez-vous d'avoir inclus le
swfobject.js
fichier (récupérez-le ici ):Ensuite, utilisez-le comme ceci:
Remplacez "9.0.115" par la version flash minimale dont vous avez besoin. J'ai choisi la version 9.0.115 comme exemple car c'est la version qui a ajouté la prise en charge de h.264.
Si le visiteur n'a pas de flash, il rapportera une version flash de "0.0.0", donc si vous voulez juste savoir s'il a du flash, utilisez:
la source
if(SWFobject && SWFobject.hasFlashPlayerVersion("1")) { // code here }
Je sais que c'est un ancien post, mais je cherchais depuis un moment et je n'ai rien trouvé.
J'ai implémenté la bibliothèque de détection Flash JavaScript . Cela fonctionne très bien et il est documenté pour une utilisation rapide. Cela m'a littéralement pris 2 minutes. Voici le code que j'ai écrit dans l'en-tête:
la source
Vous pouvez utiliser le compilateur de fermeture pour générer une petite détection de flash entre navigateurs:
ce qui donne le code "compilé" suivant:
la source
goog.userAgent.flash
de Google's Closure Compiler)? Je veux juste m'assurer de ne pas manquer une différence nuancée ici.Version minimale que j'ai jamais utilisée (ne vérifie pas la version, juste Flash Plugin):
la source
Bibliothèque de détection Flash JavaScript de Carl Yestrau, ici:
http://www.featureblend.com/javascript-flash-detection-library.html
... peut être ce que vous recherchez.
la source
Peut-être que le kit de détection de lecteur Flash d'Adobe pourrait être utile ici?
http://www.adobe.com/products/flashplayer/download/detection_kit/
la source
Détecter et intégrer Flash dans un document Web est une tâche étonnamment difficile.
J'ai été très déçu de la qualité et du balisage non conforme aux normes généré à la fois par SWFObject et les solutions d'Adobe. De plus, mes tests ont révélé que le programme de mise à jour automatique d'Adobe était incohérent et peu fiable.
La bibliothèque de détection JavaScript Flash (Flash Detect) et la bibliothèque JavaScript Flash HTML Generator (Flash TML) sont une solution de balisage lisible, maintenable et conforme aux normes.
- "Luke a lu la source!"
la source
Code pour une
isFlashExists
variable de doublure :Notez qu'il existe une alternative comme celle-ci:
swfobject.getFlashPlayerVersion();
la source
Consultez la source sur http://whatsmy.browsersize.com (lignes 14-120).
Voici le code abstrait du navigateur croisé sur jsbin pour la détection flash uniquement , fonctionne sur: FF / IE / Safari / Opera / Chrome.
la source
detectObject()
contrepartie pour IE.qu'en est-il de:
la source
Si vous êtes intéressé par une solution Javascript pure, voici celle que je copie de Brett :
la source
Si vous vouliez simplement vérifier si le flash est activé, cela devrait suffire.
Remarque: évitez de cocher enabledPlugin , certains navigateurs mobiles ont un plug-in flash tap-to-enable, et déclencheront un faux négatif.
la source
Pour créer un objet Flash conforme au standard (avec JavaScript cependant), je vous recommande de jeter un œil à
Objets Flash discrets (OVNI)
http://www.bobbyvandersluis.com/ufo/index.html
la source
Ont créé un petit
.swf
qui redirige. Si le navigateur est compatible Flash, il sera redirigé.la source
En utilisant la bibliothèque goog.require ('goog.userAgent.flash') du compilateur Google Closure, j'ai créé ces 2 fonctions.
booléen hasFlash ()
Renvoie si le navigateur a flash.
booléen isFlashVersion (version)
Renvoie si la version Flash est supérieure à la version fournie
la source