Sono nuovo alle estensioni di Chrome. Mi piacerebbe creare una semplice estensione chrome che mostri un avviso con il titolo della pagina html corrente. quando sto eseguendo: alert(document.title)
, non lo capisco perché l'oggetto documento non appartiene alla pagina ma allo script di estensione (è corretto?) come ottengo l'oggetto documento giusto?accesso alla pagina html corrente dall'estensione chrome
risposta
È possibile utilizzare il tabs module:
chrome.tabs.getCurrent(function(tab) {
alert(tab.title);
});
script contenuti sono il modo più semplice per andare:
Espandi la tua file manifesto con questo codice:
...
"content_scripts": [
{
"matches": ["http://urlhere/*"],
"js": ["contentscript.js"]
}
],
...
contenuto dello script (eseguito automaticamente su ogni pagina come detto matches
al file manifesto):
alert(document.title)
Il vantaggio di utilizzare gli script contenuti oltre chrome.extension.*
metodi è che l'estensione non richiede sc autorizzazioni ary, come ad esempio tabs
.
Consulta anche:
Per cosa stai facendo tutto quello che nee d fare è questo
chrome.tabs.executeScript({
code: 'alert(document.title)'
})
L'API chrome.tabs.executeScript consente di eseguire JavaScript nella pagina corrente invece che nella estensione in modo tale funziona bene, ma se si desidera utilizzare il nome della pagina in seguito in un'estensione più complessa di quanto vorrei solo fare quello che ha fatto pimvdb
Ciò richiederebbe l'aggiunta di 'unsafe-eval' a CSP? – Xan
io uso questa estensione per fare una cosa simile:
main.js:
(function(){window.prompt('Page title:', document.title)})()
manifest.json:
{
"background": {"scripts": ["background.js"]},
"browser_action": {
"default_title": "popup_title"
},
"name": "popup_title",
"description": "Display the page title for copying",
"permissions": [
"tabs",
"http://*/*",
"https://*/*"
],
"version": "1.0",
"manifest_version": 2
}
background.js:
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(tab.id, {file: "main.js"})
});
- 1. ipython: accesso alla figura corrente()
- 2. Accesso alla stringa di query/parametro dalla pagina html
- 3. Come reindirizzare alla pagina corrente utilizzando JavaScript?
- 4. reindirizzare alla pagina corrente in ASP.Net
- 5. Disattiva "Adatta alla pagina" in Chrome
- 6. Accesso alla richiesta corrente in Express/Jade view
- 7. variabile da .jsp alla pagina html
- 8. impostazione delle autorizzazioni di accesso alla pagina in drupal
- 9. Get URL della pagina corrente in Chrome estensione
- 10. Accesso da un'estensione Chrome
- 11. href = "#" reindirizza alla pagina indice ma non alla parte superiore della pagina corrente
- 12. Accesso all'URL iframe dall'estensione Chrome
- 13. Accesso alla posizione corrente di UIView durante l'animazione
- 14. Accesso alla "classe corrente" da WPF personalizzato MarkupExtension
- 15. Custom Deserializer Jackson Accesso alla classe Field corrente
- 16. Accesso all'oggetto DOM della scheda corrente da "popup.html"?
- 17. Salva la pagina corrente come HTML sul server
- 18. Azione link alla stessa pagina
- 19. Come scrivere nel collegamento del corpo 'mailto' alla pagina corrente
- 20. Collegamento alla pagina corrente senza stringa di query
- 21. Come tornare alla pagina corrente da Frame nel webdriver selenio
- 22. jQuery: aggiunta di ulteriori file CSS alla pagina corrente
- 23. Language Switcher, reindirizzare alla pagina corrente con symfony2.0
- 24. Estensione Chrome: sostituisci HTML prima di caricare la pagina
- 25. SdkUtility.LaunchSignInPage non reindirizzamento alla pagina di accesso ebay
- 26. Reindirizza alla pagina di accesso se l'utente non è connesso
- 27. OpenId + JSF reindirizza l'utente alla pagina di accesso?
- 28. Accesso alla lingua dell'espressione in javascript di una pagina jsp
- 29. Metodo di accesso alla pagina principale in asp.net C#
- 30. Accesso alla pagina Web dallo script utilizzando Requests e Django
@ Rob W: Ho appena fatto una domanda simile http://stackoverflow.com/questions/1964225/accessing-current-tab -Dom-oggetto-da-popup-html. Ma nel mio caso l'estensione sta inviando le informazioni dalla scheda corrente alla mia app di bookmarking. Il modo in cui comprendo la tua risposta, quindi, qualsiasi pagina che tento di aggiungere ai segnalibri deve essere inclusa nel file manifest. È corretto? In tal caso, sarà inutile. Grazie. – Zeynel
@Zeynel Quindi includi "" * "': '" corrisponde ": [" * "],' –
@ Rob W: Grazie. Potrei non farlo, ma ho dovuto inserire "corrispondenze": ["http: // */*"], 'per farlo funzionare secondo questo http://code.google.com/chrome/extensions /match_patterns.html altrimenti ho ottenuto 'Missing scheme separator' Non l'ho ancora provato ma almeno l'estensione caricata. Grazie ancora. – Zeynel