浏览器插件未在WebView实现中加载

时间:2009-09-15 07:53:18

标签: objective-c cocoa macos webkit quartz-graphics

我有一个我正在尝试编写的Cocoa应用程序,它显示了一个网页。这个网页在后台有一个嵌入式石英组合,可以在Safari中播放和工作,但它确实在我的Cocoa应用程序中显示(它只显示背景中缺少的插件图标)。

奇怪的是,它可以在我正在测试它的另一台计算机上运行。我错过了可能导致此问题的框架或插件吗?

另一个注意事项:没有任何插件可行。例如,当WebView显示youtube.com时,它无法播放视频,因为它表示未安装Flash插件。同样,相同的代码适用于另一台计算机,但不适用于此计算机。

谢谢!任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:4)

您需要在WebView中显式启用插件支持。您可以在Interface Builder中执行此操作(选中启用:插件复选框)或在代码中通过在Web视图的WebPreferences对象上调用-setPluginsEnabled:来执行此操作:

WebPreferences *prefs = [webView preferences];
[prefs setPlugInsEnabled:YES];

如果您确实启用了插件,请检查插件是否与您正在创建的体系结构/运行时兼容。如果您正在构建64位或Garbage-Collected应用程序,则加载的任何WebKit插件都必须支持该体系结构。例如,Flash插件不会加载到启用GC的应用程序中,尽管它以64位加载,因为作为NPAPI插件,它会加载到32位沙箱中。

答案 1 :(得分:0)

最奇怪的是,最终工作的唯一事情就是在测试机器而不是我正在开发的机器上构建它。多奇怪啊!