Mac OS X检查是否安装了闪存

时间:2011-09-29 21:19:36

标签: macos cocoa plugins webview

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

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

感谢您的帮助。

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:2)

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

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

  3. 根据@Brian Kyle的优秀建议,可以在navigator.plugins中检查Flash:

  4. 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;
      };
    };