NPAPI Safari постоянный идентификатор для браузера и вкладок - PullRequest
0 голосов
/ 30 марта 2012

У меня есть расширение Safari и плагин NPAPI, и я пытаюсь получить идентификатор для браузера и вкладки, который является постоянным при загрузках, пока окно / вкладка не будет закрыта. Один из объектов, который я использую, должен искать вкладку по некоторому идентификатору. В нашей реализации Windows они используют оконные API, чтобы получить указатель на окно (для представления вкладки) и пройти вверх по списку родителей, чтобы получить окно верхнего уровня (для представления браузера).

Есть ли что-нибудь подобное в Mac Safari?

1 Ответ

2 голосов
/ 30 марта 2012

Нет способа получить указатель на окно браузера в любом браузере Mac, который запускает плагины вне процесса (включая 64-битный Safar), потому что окна не доступны для всех процессов. Более того, концепция кажется глубоко ошибочной на любой платформе; многие браузеры позволяют перетаскивать вкладки из одного окна в другое. Вы хотите, чтобы ваш плагин вдруг поверил, что он находится на новой странице в этом случае, даже если пользователь даже не перезагрузил страницу?

Я не могу придумать, как вы можете отслеживать вкладки, учитывая, что API не имеет понятия вкладок. Я настоятельно рекомендую пересмотреть это требование, учитывая, что оно кажется очень произвольным с точки зрения пользователя. (Например, если я перезагружаю страницу, это то же самое, но если я закрываю вкладку, а затем сразу же заново открываю ее, используя версию отменить-закрывать-вкладку браузера, это не так? вкладка между окнами, вкладка как-то отличается?)

...