2011-09-29 51 views
4

我的Mac OS X应用程序通过需要flash的WebView打开一个网页。如果用户没有安装Flash,我想给他们一个弹出窗口,告诉他们请安装Flash。Mac OS X检查是否安装了闪存

如果安装了flash插件,有办法检查webview吗?在WebPreferences中,您可以启用/禁用PlugIns,但我找不到查询当前安装/启用的方法。

感谢您的任何帮助。

回答

2
  1. 您可以通过shell命令检查安装的Flash版本:/usr/libexec/PlistBuddy -c 'Print CFBundleVersion' /Library/Internet\ Plug-Ins/Flash\ Player.plugin/Contents/Info.plist

  2. 苹果已经提供JavaScript code to detect plugins on a variety of browsers。如果您有此文件,可使用以下重定向至Flash网站或弹出式窗口:detectFlash("http://www.site.com/flashcontent","http://www.site.com/noflash")

  3. 每@布赖恩Kyle的指教,有可能在navigator.plugins检查闪光灯:

var pluginCount = navigator.plugins.length; 
for(var i = 0; i < pluginCount; i++){ 
    if(navigator.plugins[i].name=="Shockwave Flash") { 
    document.write("Flash version " + navigator.plugins[i].version); 
    break; 
    }; 
}; 
5

您可能可以编写一些JavaScript来执行检查并通过WebView的窗口对象执行它。为此,您需要阅读JavaScript的navigator对象,特别是navigator.plugins