2015-03-01 20 views

risposta

11

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 
    }); 
}); 
+0

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: // */* "] }] } –

+0

Dove posso mettere l'evento per catturare l'evento click? –

+0

Grazie mille Mr. Xan, mi hai davvero aiutato, anche io la soluzione era qui: https://developer.chrome.com/extensions/examples/api/tabs/inspector.zip –

Problemi correlati