2012-03-29 1 views
0

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

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

ответ

2

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

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

+0

да, что он сказал – taxilian