Почему набор плагинов может отличаться между Safari и компонентом WebView? - PullRequest
4 голосов
/ 03 февраля 2011

Наше настольное приложение для Mac встраивает компонент WebView из инфраструктуры WebKit. Внутри WebView мы размещаем Flash Player, где мы визуализируем пользовательский интерфейс.

Насколько я знаю, Safari использует WebKit / WebView для отображения содержимого.

Мы ожидали, что Safari будет содержать тот же компонент WebView, что и наши приложения. Другими словами, если Flash-плагин установлен в Safari, Flash будет доступен в нашем WebView.

К сожалению, это оказалось неправильным для одного из наших пользователей.

На его Mac Flash безупречно работает в Safari, но наш WebView отображает сообщение «Отсутствует плагин» вместо Flash Player.

Mac OS X 10.5.8

Почему это может произойти?

Возможно ли Safari использовать другой WebView (или настройки WebView), чем наше приложение?

Буду признателен за любой совет, который поможет нам найти источник проблемы.

Я попросил пользователя запустить небольшой скрипт, который печатает набор плагинов, установленных для Safari и для нашего WebView. В Safari установлено около 20 плагинов, включая Flash Player. Но для нашего WebView установлено всего 3 плагина. Вот они:

Java Plug-In 2 for NPAPI Browsers
Switchable Java Plug-In for WebKit
RealPlayer Plugin.plugin

Pasha

1 Ответ

1 голос
/ 08 марта 2011

Возможно ли Safari использовать другой WebView (или настройки WebView), чем наше приложение?

Да, очень сильно. WebView - это просто класс, и Safari использует один экземпляр такого класса, который не изменяется для плагина. Для браузера установлен плагин Flash (например, Safari отслеживает, где он установлен, и ищет его по мере необходимости). Веб-представление Cocoa не изменяется при установке плагина - это может привести к разного рода проблемам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...