2014-09-05 7 views
8

Я использую swfobject в одном из моих проектов, чтобы определить, установлен ли конечный пользователь установленной версии Flash. Проблема заключается в Firefox, потому что он показывает сообщение: «Разрешить запуск Adobe Flash?» и этого я хочу избежать.SwfObject - обнаружить флеш без «Разрешить запуск ...» сообщение firefox

Речь идет не о том, чтобы показать конечного пользователя альтернативный контент, я хочу только попытаться обнаружить Flash, и если Flash не установлен, ничего не показывать, но если установлена ​​вспышка, то не показывайте Разрешить запуск ... сообщения в Firefox.

Кто-нибудь знает какой-либо способ предотвратить это с помощью SwfObject?

Примечание: Просто включив следующую строку в заголовке HTML:

<script type="text/javascript" src="swfobject.js"></script> 

это вызывает Разрешить для запуска сообщения: S

Если вы думаете, что есть лучшая альтернатива SWFObject для того, чтобы решить эту проблему, и это хороший многоцелевой инструмент swf-handler, я все уши.

Вот пример сообщения:

enter image description here

Благодаря

+1

'hasFlash = []. Some.call (navigator.plugins, функция (р) {возвращение p.name == "Shockwave Flash"})' – dandavis

+3

@dandavis, почему не вы делаете это в полный ответ? В каком контексте должен использоваться ваш код? –

ответ

3

Что-то вроде:

var flashInstalled = ((typeof navigator.plugins != "undefined" && typeof navigator.plugins["Shockwave Flash"] == "object") || (window.ActiveXObject && (new ActiveXObject("ShockwaveFlash.ShockwaveFlash")) != false)); 

Не уверен, что, если вам нужно проверить все браузеры, или только некоторые, так вы можете удалить проверки activeX ....

2

navigator mimeType представляет собой объект плагина . Вы можете использовать это для прокрутки и захвата деталей любого плагина, который включен в браузере.

Пример:

navigator.mimeTypes Вызов будет возвращать массив объектов плагинов.

FYI: если пользователь имеет плагин отключен, то он не будет отображаться в этом массиве ..

Самый простой логики, чтобы просто найти описание для ударной волны

var plugins = navigator.mimeTypes; 

var i; 

    for(i = 0 ; i < plugins.length ; i++){ 

      var pluginName = plugins[i].description.toLowerCase() 

      if(pluginName.indexOf('shockwave') > -1){ 

       console.log(pluginName + ' : flash in enabled') 

       break; 
      } 

    } 

пасты этот скрипт в любой консоли.

Надеется, что это помогает

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

  • Нет связанных вопросов^_^