Se vuoi fare qualcosa del genere, lo fai facilmente con l'API per estensioni di Chrome. Le aree da cercare sono:
Ora, il primo passo è quello di creare il file popup.html e ricordare che è transitorio, cioè vive solo quando si fa clic sull'azione del browser, quindi muore se esce (si chiude). Quello che sto cercando di dire, se hai un sacco di calcoli e vuoi che succeda in background e accada anche se il popup è chiuso, sposta tutto su background page. E nel tuo popup, puoi facilmente accedere alla pagina di sfondo usando chrome.extension.getBackgroundPage()
All'interno del tuo popup.html, dovresti ottenere l'URL della scheda corrente, per fare ciò, l'API Tab. ha una funzione "getSelected" che ti permette di ottenere il Tab object per la scheda selezionata.
Quindi qualcosa di simile:
popup.html
<html>
<body>
<p id="currentLink">Loading ...</p>
<hr />
<ul id="savedLinks"></ul>
<script type="text/javascript" src="popup.js"></script>
</body>
</html>
popup.js
chrome.tabs.getSelected(null, function(tab) {
document.getElementById('currentLink').innerHTML = tab.url;
});
Il motivo per cui non è possibile inserire il codice JavaScript nel file HTML è di limitazione di Chrome per proteggere i propri utenti di attacchi JavaScript:
script in linea e gestori di eventi annullato
Ora questo ti permetterà di mostrare l'Url nel popup per la pagina corrente come azione del browser. Il prossimo passo è utilizzare semplici funzionalità HTML5 come localStorage o Webdatabase (a mio avviso, sarà meglio). Per memorizzare le pagine salvate, puoi renderle sulla pagina SavedLinks come ho fatto per il currentLink.
Buona fortuna!
fonte
2010-05-09 14:49:11
Nota: tutte le risposte suggeriscono di utilizzare 'chrome.tabs.getSelected'. Questo metodo API è stato deprecato, tuttavia è necessario utilizzare 'chrome.tabs.query'. Vedere [Come ottenere l'URL della scheda attualmente aperta nel popup di azione della mia pagina?] (Http://stackoverflow.com/questions/10413911/how-to-get-the-correntemente-aperto-tabs-url-in-my-page-action-popup/10417327 # 10417327) –