2017-01-06 7 views
1

Je suis en train de faire simple vérification si le flash est installé comme il a été suggéré hereSi le flash est installé

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 
<script type="text/javascript" src="swfobject.js"></script> 

<script type="text/javascript"> 
$(document).ready(function() { 
    console.log("ready!"); 
    if (!$.flash.hasVersion('9')) { //error 
     //has Flash 
     console.log("flash installed!"); 
     ... 

Mais j'obtiens l'erreur, ce qui ne va pas ici?

TypeError: $.flash is undefined

+0

On dirait que vous devez installer le plug-in '' flash' dans jquery' . – arkascha

+2

Mais .... 'flash' en 2017? Sérieusement? Ce cheval a été légitimement abattu il y a des années _... – arkascha

+0

En plus de ce que @arkascha a dit - à partir de Chrome 53, Flash est désactivé par défaut, et je crois que Firefox prévoit de suivre cette année. Si votre travail vous oblige à l'utiliser, assez juste (même si j'espère qu'ils ont un plan de migration), mais si cette question concerne un projet personnel, je vous recommande vraiment d'éviter d'utiliser Flash. –

Répondre

1

Cela devrait fonctionner ...

function flashExists() { 
    for (var i in navigator.plugins) { 
     if (navigator.plugins[i].name && navigator.plugins[i].name.toString().indexOf('Flash') > -1) { 
      return true; 
     } 
    } 
    return false; 
} 
1

Votre code est de renvoyer une erreur parce que SWFObject et jQuery sont deux bibliothèques complètement indépendants. SWFObject n'a pas d'objet $.flash.

Pour vérifier si Flash est disponible en utilisant SWFObject, procédez comme suit:

var meetsMinimumFlashRequirement = swfobject.hasFlashPlayerVersion("9"); 

if(meetsMinimumFlashRequirement){ 
    //Use Flash 
} else { 
    //Flash not available, use a fallback 
} 

Voir LearnSWFObject.com pour plus de détails et d'exemples.

Je suppose que le code que vous utilisez est basé sur un wrapper jQuery pour SWFObject. Si tel est le cas, vous n'avez pas inclus la source pour le wrapper dans votre page, par conséquent le wrapper échoue. Personnellement, j'utiliserais SWFObject directement.

(En fait, je ne serais pas utiliser Flash du tout, mais si je devais utiliser Flash, j'utiliser SWFObject directement.)