2009-07-06 1 views
2

Проблема в том, что я написал плагин Safari (Growler), который позволяет веб-приложениям отправлять уведомления Growl, вызывая функции Javascript. Однако на данный момент, как это написано, людям нужно использовать <embed> для инициализации плагина, чтобы Javascript мог начать использовать его (что-то я взял из примеров Apple).Глобальный объект для Javascript для взаимодействия с плагином Safari

Мне было интересно, если бы я мог определить что-то вроде window.<pluginName>, чтобы они не вставляли его каждый раз? Это позволит многим сайтам начать использовать его без изменения кода.

Я рассмотрел множество примеров и документации, и появились две вещи - «WebView» и «WebScriptObject». Я довольно новичок в этом, поэтому я не совсем уверен, что делать.

ответ

2

Невозможно написать подключаемый модуль WebKit, который не обрабатывает тип содержимого. Вот почему так много «плагинов» Safari или «расширений» (в том числе GrowlSafari) реализованы в качестве хакеров ввода-вывода.

Как вы это сделали, это единственный надежный, безопасный, поддерживаемый и не обреченный способ сделать это.

+0

Действительно? Это плохо, потому что это также означает, что нет реального способа проверить, существует ли мой подключаемый модуль (что затрудняет изящество деградации). Любые могучие мозговые волны в этом отношении? – aditya

+0

Ничего, разобрался. В отличие от Firefox, WebKit довольно хорошо реализует 'navigator.plugins'. – aditya

Смежные вопросы