Prima di tutto, se si dispone di un default_popup
definito nel manifest - è necessario rimuoverlo, in quanto interferisce con l'evento click che si desidera catturare.
Quindi, è necessario per catturare l'evento in uno script di fondo:
chrome.browserAction.onClicked.addListener(function(tab) {
// ...
});
Poi, se vogliamo una finestra, probabilmente vogliamo guardare al windows
API. create()
suona come quello che vi serve:
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.windows.create({/* options */});
});
Quali opzioni avete bisogno? Supponendo che si desidera aprire una pagina dal proprio interno, è necessario un URL avvolto in un chrome.runtime.getURL
:
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.windows.create({
// Just use the full URL if you need to open an external page
url: chrome.runtime.getURL("mypage.html")
});
});
Poi, per mostrare una finestra come si sta mostrando, senza barra degli strumenti in alto, è necessario un tipo di finestra "popup"
:
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.windows.create({
url: chrome.runtime.getURL("mypage.html"),
type: "popup"
});
});
Infine, se si vuole fare qualcosa dopo che la finestra è aperta, utilizzare il callback:
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.windows.create({
url: chrome.runtime.getURL("mypage.html"),
type: "popup"
}, function(win) {
// win represents the Window object from windows API
// Do something after opening
});
});
Come potrebbe essere il file manifesto? Ho questo uno: { "name": "Esempio DOM", "versione": "1.31", "manifest_version": 2, "permessi": [ "schede"], "browser_action": { "name": "Esempio", "icone": [ "icon.png"], "default_icon": "icon.png" }, "content_scripts": [{ "js": [ " jquery.min.js "," background.js "], " corrispondenze ": [" http: // */* "," https: // */* "] }] } –
Dove posso mettere l'evento per catturare l'evento click? –
Grazie mille Mr. Xan, mi hai davvero aiutato, anche io la soluzione era qui: https://developer.chrome.com/extensions/examples/api/tabs/inspector.zip –