2011-10-06 9 views
10

Ho già codificato la maggior parte di un componente aggiuntivo di Firefox utilizzando l'API SDK dell'adattatore. Ora sto scoprendo che l'add-on SDK potrebbe non essere abbastanza potente per i miei scopi. Ho bisogno di due cose:Utilizzo dell'SDK aggiuntivo per aggiungere pulsanti della barra degli strumenti? Integrazione di XUL e dell'SDK aggiuntivo per i componenti aggiuntivi di Firefox?

  1. Un pulsante a discesa nella barra degli strumenti accanto alla barra degli indirizzi.
  2. Per modificare il manager add-on di Firefox

E 'davvero deludente, ma non credo uno di questi è possibile con l'Add-on SDK.

Prima di tutto, capisco che c'è un modulo widget nell'API dell'adattatore SDK. Ma questo mi consente solo di aggiungere un'icona o un'etichetta semplice alla barra del componente aggiuntivo scomodo. Cosa succede se ho bisogno di aggiungere un pulsante più bello come quello accanto alla barra degli indirizzi di Firebug o Greasemonkey? Per quanto riguarda la modifica del gestore di componenti aggiuntivi in ​​firefox, ho provato Nickolay Ponomarev's XUL with the Add-on SDK senza alcun successo. Se qualcuno sa come farlo funzionare e può indicarmi la giusta direzione, sarebbe estremamente utile (cfx init --template xul non fa nulla del normale SDK quando lo provo)

+2

I componenti aggiuntivi dovrebbero aggiungere la loro icona alla barra del componente aggiuntivo, questa è la raccomandazione ufficiale per tutte le estensioni che iniziano con Firefox 4. Se l'utente desidera ingombrare le altre barre degli strumenti, può personalizzarle e trascinare le icone in giro. anche per i componenti aggiuntivi dell'SDK. –

+0

Come modificare il gestore aggiuntivo: non fornisci assolutamente nessuna informazione su ciò che stai cercando di ottenere, e fare due domande contemporaneamente non è comunque una buona idea. Ti suggerisco di modificare la tua domanda per chiedere solo i pulsanti della barra degli strumenti e spostare la modifica del gestore aggiuntivo in una domanda separata. –

+0

@WladimirPalant grazie per i suggerimenti.Penso che molti utenti di Firefox siano ancora scomodi a spostare le icone in giro. Temo che alla gente non piacerà la posizione predefinita del mio menu aggiuntivo sulla barra del componente aggiuntivo, e semplicemente chiuderò la barra nel suo insieme piuttosto che passare attraverso il problema della ricollocazione. – Salami

risposta

3

Hai guardato il modulo toolbar di Erik Vold?

https://github.com/erikvold/toolbarbutton-jplib/

E 'possibile accedere a tutte le API interne di Firefox in moduli SDK per richiedere privilegi di cromo; semplicemente non sarà facile come l'apis ad alto livello del kit addon.

+2

Non ho visto questo, ma sembra molto utile. Forse posso usarlo come modello per cambiare anche il gestore aggiuntivo. Grazie! – Salami

+1

Puoi certamente modificare l'EM con i moduli SDK, stavo per farlo anch'io, quindi se hai iniziato qualcosa allora fammelo sapere! – erikvold

+1

(Il collegamento fornito è esaurito) – Mike

1

provato Nickolay Ponomarev XUL con Jetpack senza alcun successo. Se qualcuno sa come ottenere questo lavoro e mi può puntare nella giusta direzione, che sarebbe estremamente utile (CFX init --template xul non fa nulla l'SDK regolare fa quando l'ho provato)

lo farei Mi piace molto ascoltare la descrizione dettagliata di ciò che hai provato e di come esattamente ha fallito. Non posso rispondere alla domanda nella sua forma attuale.

Non credo che uno di questi sia possibile con JetPack.

Significa che si utilizzano solo i moduli SDK di alto livello incorporati. È possibile scrivere un modulo SDK di basso livello che utilizza XPCOM e interagisce con il codice Chrome direttamente per implementare le funzionalità di cui hai bisogno, dopotutto è così che vengono implementati gli altri moduli SDK. Se segui questa strada, perdi comunque la futura promessa di compatibilità dell'SDK: dovrai farlo includere nell'SDK upstream o aggiornarlo per le nuove versioni di Firefox.

+0

Grazie per la risposta. Ho scaricato 1.0b1rc4 dal tuo github fork del componente aggiuntivo sdk e ho eseguito source bin/activate. Quindi, quando eseguo 'cfx init --template xul' in una nuova cartella, non trovo la cartella' extension' menzionata (a fianco di lib, test, ecc.). Non trovo nessuno dei file menzionati nella sezione "File pre-generati in un componente aggiuntivo basato su XUL" nemmeno le modifiche al file package.json. Le istruzioni sembrano chiare ma non sto ottenendo i risultati attesi. – Salami

+1

@Salami: OK, sospetto il passaggio di download. Hai utilizzato il pulsante "ZIP" nella pagina di GitHub per scaricare? Potresti aver scaricato la versione "base" del codice, non la forcella. Prova https://github.com/nickolay/addon-sdk/zipball/bug641215-xul-extensions-v2 (o ancora meglio clonare con git). – Nickolay

+0

Grazie. Questa versione 0.9 che hai collegato sembra funzionare perfettamente – Salami

2

Il toolbarbuttonlib-jplib di cui sopra non esiste più, ma provare toolbarwidget-jplib. Esso funziona magicamente! Total life saver.

Problemi correlati