Opracowuję rozszerzenie przeglądarki Chrome i chciałem się dowiedzieć, czy można zamknąć wyskakujące okienko, klikając ponownie ikonę, która umożliwia otwarcie wyskakującego okienka: próbowałem wszystko, ale wygląda na to, że musisz kliknąć gdzie indziej, aby je zamknąć. Dokument stwierdza, że zdarzenie onClicked
jest:Zamknij wyskakujące okienko rozszerzenia Chrome, ponownie klikając ikonę akcji przeglądarki
Zostaje uruchomione po kliknięciu ikony akcji przeglądarki. To zdarzenie nie zostanie wywołane, jeśli działanie przeglądarki ma wyskakujące okienka: (http://developer.chrome.com/extensions/browserAction.html#popups).
Z góry dziękuję.
[UPDATE] Próbowałem następujące i działa pół (!): 1. w popup.html połączyć popup.js; 2. popup.js odczytuje wartość zmiennej zawartej w background.js;
var currentStatus = chrome.extension.getBackgroundPage().open;
if(currentStatus==0){
chrome.extension.getBackgroundPage().open=1;
}else{
chrome.extension.getBackgroundPage().open=0;
window.close();
}
Co się dzieje: pierwsze kliknięcie otwiera aplikację, drugi zamyka go, ale pozostaje mikro okienko bez zawartości na ikonie. Jeśli usunę to, osiągnąłem swój cel.
gorąco polecam wybrać inny obiekt niż 'open', bo jesteś teraz nadpisanie wbudowaną funkcję' window.open' strony tła. –
@Rob W: Usunąłem cały ten kod, ponieważ nie mogłem znaleźć żadnego sposobu na poprawne działanie. Dzięki za komentarz! – ContentiousMaximus
Wygląda na to, że w Chrome 28 kliknięcie ikony akcji przeglądarki po raz drugi zamknie wyskakujące okienko, bez specjalnego kodu. –