我的Mac OS X应用程序通过需要闪存的WebView打开网页。如果用户没有安装闪存,我想给他们一个弹出窗口,告诉他们请安装闪存。
如果安装了Flash插件,有没有办法检查webview?在WebPreferences中,您可以启用/禁用PlugIns,但我找不到查询当前安装/启用的方法。
感谢您的帮助。
答案 0 :(得分:5)
您可以编写一些执行检查的JavaScript并通过WebView的窗口对象执行它。要执行此操作,您需要阅读JavaScript的navigator
对象,特别是navigator.plugins
。
答案 1 :(得分:2)
您可以通过shell命令检查已安装的Flash版本:/usr/libexec/PlistBuddy -c 'Print CFBundleVersion' /Library/Internet\ Plug-Ins/Flash\ Player.plugin/Contents/Info.plist
Apple已提供JavaScript code to detect plugins on a variety of browsers。如果您包含此文件,则可以使用以下内容重定向到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;
};
};