2012-01-30 5 views
9

ho creato un'estensione per Chrome che ha un popup con il seguente codice HTML in esso:tasto Tab non funziona in pop-up in estensione Chrome

<html> 
<head> 
<style> 
body { 
font-family: 'Open Sans',arial,sans-serif; 
background-color: #E5E5E5; 
font-size: 13px; 
text-shadow: 0px 1px rgba(255, 255, 255, 0.5); 
} 
</style> 
</head> 
<script type="text/javascript">function sendRequest(s,r){ 
chrome.tabs.getSelected(null, function(tab) { 
    chrome.tabs.sendRequest(tab.id, {search:s , replace:r}, function(response) { 
    console.log(response.farewell); 
    }); 
}); 
}; 
</script> 
<body> 

<label for="search">Search for</label><input name="search" id="search"></input> 
<label for="replace">Replace with</label><input name="replace" id="replace"></input> 
<button onclick="var s=document.getElementById('search').value;var r=document.getElementById('replace').value;sendRequest(s,r);">Go</button> 
</body> 
</html> 

Quando apro il popup, selezionare il primo campo di input e poi premere il tasto Tab, il campo di immissione perde la messa a fuoco ma il secondo non acquisisce la messa a fuoco.

Se si seleziona nuovamente il primo e si preme nuovamente il tab, il secondo campo acquisisce la messa a fuoco. Premendo nuovamente il pulsante si ottiene la messa a fuoco e premendo una terza volta il primo campo acquisisce nuovamente la messa a fuoco.

Qualcuno sa perché il primo tasto di tabulazione non funzionerebbe?

+0

Purtroppo non posso rispondere alla tua domanda (è davvero strano mi chiedo che cosa sta succedendo?), Ma ecco un paio di indicazioni da fare con tab. Se ti interessano le tabulazioni dovresti usare tabindex, dovresti concentrarti sul caricamento della pagina e dovresti inserire qualcosa di invisibile come ultimo tabindex che sposta lo stato attivo sul primo elemento o che entra nel browser. Ecco un esempio di come appare la pagina con le informazioni aggiunte. Http://pastebin.com/2izkBt7g (funziona anche in pagina, non in popup?), Quando si pubblicano i probs con Chrome è una buona idea dire quale versione è stata testata in. – PAEz

+0

Ciao Wladimir. Grazie mille per il suggerimento. Ho implementato questo nel mio popup e sto usando Chrome 17.0.963.46 beta-m. Sfortunatamente, il cursore scompare dopo aver premuto il tasto della prima scheda. Posso ottenere con successo il 2 ° tabindex da selezionare al caricamento del popup, ma il 2 ° tasto premuto risulta nuovamente in un cursore mancante. Pensi che questo potrebbe essere solo un bug con Chrome? – forgetso

+0

Ha funzionato per me, nella versione stabile. Il cursore non scompare, tutto funziona esattamente nel modo in cui ti aspetteresti. –

risposta

6

rapporto See Chrome bug qui: http://code.google.com/p/chromium/issues/detail?id=122352

EDIT: Fix è attualmente implementata nella build Canary 26.0.1408.1 (Build ufficiale 181.614), al momento di questa modifica.

+0

grazie per le informazioni – forgetso

+0

salvato un sacco di tempo :) grazie – akshob

+1

Il bug è tornato, non è ancora stato refixato: https://code.google.com/p/chromium/issues/detail?id=122352 – Loren

0

Questo sembra funzionare in Chrome versione 32.0.1700.76 m.

Non l'ho mai visto funzionare correttamente per l'estensione TxtPad, ma oggi ha funzionato dopo l'aggiornamento di Chrome.

Spero che rimanga così ora.