Вызывать внешний исполняемый файл из NPAPI на OS X? - PullRequest
1 голос
/ 01 октября 2010

Я разрабатываю приложение (тип менеджера загрузки) на OS X, которое я хотел бы интегрировать с основными браузерами Mac (Safari, Firefox, Chrome, Opera, Camino) через API подключаемого модуля Mozilla, NPAPI. У меня есть общее представление о том, как зарегистрировать мое приложение на Mac для обработки определенных URL-адресов и типов файлов (через API Launch Services, файл info.plist и т. Д.), И я также понимаю, что могу зарегистрироваться для определенных типов MIME в NPAPI. Тем не менее, я не вижу почти никаких зацепок в документах NPAPI для интеграции с внешними приложениями, то есть получения URL через NPN_GetURL() при нажатии на гиперссылку и передачи этих данных во внешнее приложение. Единственные ссылки, которые я нашел для вызова внешних приложений, - это функция system в C, и мне трудно поверить, что это единственный способ сделать это. Я знаю, что другие приложения Mac (менеджеры загрузок) могут интегрироваться с браузерами таким образом, но, похоже, документации по этому вопросу очень мало. Я неправильно понимаю цель NPAPI?

Ответы [ 2 ]

1 голос
/ 01 октября 2010

Да, вы неправильно понимаете цель NPAPI.Для таких вещей, как перехват ссылок и изменение поведения браузеров, вам нужно написать расширения браузера , а не плагин.

См .:

0 голосов
/ 01 октября 2010

Фактический API NPAPI очень ограничен;Большая часть того, что плагины делают через прямые системные вызовы.system не единственный вариант - вы можете использовать все, что угодно, для любого приложения OS X (NSWorkspace, Apple Events, IPC для launchd -регистрационной службы и т. Д.), Но вы не найдетевызов в NPAPI, чтобы сделать то, что вы хотите.

...