我的Mac OS X应用程序通过WebView打开一个需要Flash的网页。如果用户没有安装Flash,我想给他们一个弹出窗口告诉他们请安装Flash。
有没有一种方法可以检查WebView是否安装了Flash插件?在WebPreferences中,您可以启用/禁用插件,但我找不到一种查询当前安装/启用插件的方法。
感谢任何帮助。
您可以通过shell命令检查已安装的Flash版本:/usr/libexec/PlistBuddy -c 'Print CFBundleVersion' /Library/Internet\ Plug-Ins/Flash\ Player.plugin/Contents/Info.plist
苹果提供了JavaScript代码,可在多种浏览器上检测插件。如果包含此文件,则可以使用以下内容重定向到Flash网站或弹出窗口:detectFlash("http://www.site.com/flashcontent","http://www.site.com/noflash")
根据@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;
};
};