【问题标题】:Browser Plug-ins Not Loading in WebView ImplementationWebView 实现中未加载浏览器插件
【发布时间】:2009-09-15 07:53:18
【问题描述】:

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

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

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

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

【问题讨论】:

  • 我在嵌入式 Java Web 应用程序中遇到了完全相同的问题。在 IB 中,我在检查器中启用了 Java,但它不起作用,尽管它在 Safari 中很好。会尝试下面的方法,但如果其他人有任何想法......

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


【解决方案1】:

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

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

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

【讨论】:

  • 非常感谢您的回复,但这也没有用。我真的以为会的!我开始认为它可能与代码无关,但可能与我运行应用程序的环境有关。因为正如我之前所说,它在我实际编写代码的计算机上运行良好,但我正在测试它的计算机无法运行。很奇怪!
  • 这两台机器的规格是什么?控制台有输出吗?
【解决方案2】:

最奇怪的是,唯一能成功的就是在测试机器上而不是我正在开发的机器上构建它。多么奇怪!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-08
    • 1970-01-01
    • 2014-04-02
    • 2012-12-25
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多