Mac OS X 如何检查是否已安装 Flash?

4

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

有没有一种方法可以检查WebView是否安装了Flash插件?在WebPreferences中,您可以启用/禁用插件,但我找不到一种查询当前安装/启用插件的方法。

感谢任何帮助。

2个回答

5
你可以编写一些 JavaScript 进行检查,然后通过 WebView 的 window 对象执行它。要做到这一点,您需要了解 JavaScript 的 navigator 对象,特别是 navigator.plugins。

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

  2. 苹果提供了JavaScript代码,可在多种浏览器上检测插件。如果包含此文件,则可以使用以下内容重定向到Flash网站或弹出窗口:detectFlash("http://www.site.com/flashcontent","http://www.site.com/noflash")

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接