Sto sviluppando un'estensione di Chrome e volevo sapere se è possibile chiudere un popup semplicemente facendo nuovamente clic sull'icona che consente di aprire il popup: Ho provato qualsiasi cosa, ma sembra che tu debba fare clic altrove per chiuderla. Il documento afferma che l'evento onClicked
è:Chiudi un popup dell'estensione di Chrome facendo di nuovo clic sull'icona di azione del browser
Attivato quando si fa clic su un'icona di azione del browser. Questo evento non si attiva se l'azione del browser ha un popup (http://developer.chrome.com/extensions/browserAction.html#popups).
Grazie in anticipo.
[UPDATE] ho provato quanto segue e che la metà funziona (!): 1. in popup.html I link popup.js; 2. popup.js legge il valore di una variabile contenuta in background.js;
var currentStatus = chrome.extension.getBackgroundPage().open;
if(currentStatus==0){
chrome.extension.getBackgroundPage().open=1;
}else{
chrome.extension.getBackgroundPage().open=0;
window.close();
}
cosa succede: il primo clic si apre l'applicazione, il secondo chiude, ma rimane un micro pop-up senza contenuti su l'icona. Se rimuovo, ho raggiunto il mio obiettivo.
vi raccomando vivamente di scegliere una proprietà diversa da quella 'open', perché si sta ora sovrascrivendo la funzione built-in' window.open' di sfondo della pagina. –
@Rob W: Ho rimosso tutto il codice, dal momento che non sono riuscito a trovare alcun modo per farlo funzionare correttamente. Grazie per il tuo commento! – ContentiousMaximus
Sembra che in Chrome 28, facendo clic su un'icona di azione del browser una seconda volta si chiuda un pop-up, non è necessario alcun codice speciale. –