Я создаю плагин NPAPI для Chrome / Firefox.
Из плагина я хотел бы получить фокус браузера и выбрать вкладку, на которой отображается мой плагин, где бы пользователь ни находился в пользовательском интерфейсе ОС.
На данный момент я могу получить фокус браузера, используя SetForegroundWindow(HWND)
; или же SwitchToThisWindow(HWND, BOOL);
на родительском HWND окна плагина. Также я могу выбрать вкладку, сделав оповещение внутри нее. В любом случае диалоговое окно с предупреждением выглядит ужасно, и закрыть его невозможно.
Есть ли способ выбрать нужную вкладку из нативного кода NPAPI? Или из JavaScript?
NB: я использую Firefox Nightly для тестов.
Вы не можете контролировать что-либо за пределами своего собственного окна плагина из NPAPI, потому что NPAPI ничего не знает за пределами страницы. NPAPI ничего не знает о самом браузере или других страницах. Это по замыслу. Если есть какой-либо способ без использования системных API для выполнения того, что вы пытаетесь сделать, это было бы расширением, но я сомневаюсь в этом.
Честно говоря, это просто не то, что плагины должны быть в состоянии сделать =]
увидеть http://npapi.com/extensions
Других решений пока нет …