objective-c - WebView 实现中未加载浏览器插件

标签 objective-c cocoa macos webkit quartz-graphics

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

奇怪的是它可以在我测试它的另一台计算机上运行。我是否在某处缺少可能导致此问题的框架或插件?

另一个注意事项:似乎没有插件可以工作。例如,当 WebView 显示 youtube.com 时,它无法播放视频,因为它表示未安装 Flash 插件。同样,相同的代码可以在另一台计算机上运行,​​但不能在这台计算机上运行。

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

最佳答案

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

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

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

关于objective-c - WebView 实现中未加载浏览器插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1425760/

相关文章:

macos - 如何在 Mac 上启动新应用程序?

iphone - 为什么我的按钮单击事件被调用 4 次?

iphone - 如何通过 Facebook iOS SDK 和 Graph API 邀请 friend 加入我的应用程序

objective-c - 弹出箭头与 View Controller 背景的颜色不同

python - 为什么在 Mac 操作系统上使用 sys.platform 时会打印 "darwin"?

macos - Aparapi 添加示例

java - Apple 弃用 Java,我们作为程序员的技术选择是什么?

ios - 几次打开后,无法打开 UIManagedDocument 文件似乎已损坏

cocoa - 如何更改 NSPopover 背景颜色包括三角形部分?

macos - 让 NSWindow 拒绝键盘事件