2015-06-01 2 views
0

Я пытаюсь обнаружить флэш-поддержки, и я стараюсь действовать как в этом ответе: Cross Browser Flash Detection in JavascriptSWFObject не определена ошибка

Мой код выглядит следующим образом, но я всегда получаю ту же ошибку: SWFObject не определены. Я не должен этого делать, потому что я пытаюсь использовать его в браузерах, поддерживающих flash (хром и firefox).

if(swfobject){ 
    console.log("you have swfobject."); 

    if(swfobject.hasFlashPlayerVersion("1")){ 
     console.log("You have flash!"); 
    } 
    else{ 
     console.log("You do not flash :("); 
    } 
}else{ 
    console.log("you don't have swfobject"); 
} 

Это проблема с новейшими браузерами? Есть ли другой способ его обнаружить?

ответ

1

MDN page on flash привел меня через укомплектовать Diferent пути:

if(navigator.mimeTypes["application/x-shockwave-flash"]){ 
    var plugin = navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin; 
    var description = plugin.description; 
    var versionArray = description.match(/[\d.]+/g); 
    var flashVersionOSXScriptable = 12; 
    var flashVersion = parseInt(versionArray[0]); 

    if(navigator.userAgent.indexOf("Mach-O")==-1){ 
     if(flashVersion >= flashVersionOSXScriptable){ 
      console.log("you have flash"); 
     }else{ 
      console.log("you don't have flash"); 
     } 
    } 
}else{ 
    console.log("you don't have flash"); 
} 
0

Попробуйте проверить на typeofobject так:

if(typeof swfobject != "undefined"){ //Check if type of the object is undefined 

    console.log("you have swfobject."); 

    if(swfobject.hasFlashPlayerVersion("1")){ 
     console.log("You have flash!"); 
    } 
    else{ 
     console.log("You do not flash :("); 
    } 
}else{ 
    console.log("you don't have swfobject"); 
} 
+0

Я не упоминал об этом, но проблема в том, что он выдает ошибку даже в браузерах, поддерживающих флеш! – Vandervals

Смежные вопросы