S novým Firefoxem mi začaly chodit požadavky, zda bych přece jen ještě ten SEO Profesional Toolbar (dál mu budu říkat SEOP) nezaktualizovat. Přemluvili mě docela snadno. Přes 2 roky jsem na to ani nešáhl, a taky jsem skoro všechno zapomněl. Sem napíšu pár poznámek o tom, jak to vlastně šlo.
SEOP je klasické XUL rozšíření, nepoužívá SDK, instaluje se pomocí overlaye. Původně byl na status baru, když status bar zrušili, dal jsem ho na add-on bar, teď zrušili i ten. To samo o sobě se řeší jednoduše. Místo na add-on bar ho dám do <toolbarpalette id=„BrowserToolbarPalette“>. To ale funguje bez problémů pro tupá tlačítka. Já jsem narazil na to, že v předchozí verzi jsem se mohl spolehnout, že ty moje prvky existují, a mohu se k nim odkazovat, takže jsem si je na začátku v onload nahrál do proměnných:
this.main_button = document.getElementById("seop-main-button"); this.rec_button = document.getElementById("seop-rec-button");a pak jsem se na ně takto odkazoval. To už nejde, protože když tam ten prvek není, tak ho prostě getElementById nevrátí. Já to řeším tak, že se na něj zeptám až na místě, kde ho potřebuju.
S tím přidáváním na nav-bar taky souvisí Toolbar customization events. Čistě v tom, že po přidání na nav-bar musím zaktualizovat stav.
Dovedu si představit, že celkem běžný problém může být to, že uživatel nainstaluje rozšíření, a nic. Nikde se nic neobjeví, nikde nic není vidět, takže na to do zítřka zapomene. Myslet si, že snad sám od sebe začne „customizovat“ by asi bylo naivní. Mozilla radí narvat to na nav-bar po prvním spuštění po instalaci, já to udělám po prvním spuštění nové verze. Vpodstatě podle tohoto návodu.
Zajímavý je rozdíl mezi tou platformou pro psaní rozšíření v Mozille/Firefoxu, a Chrome. Na Chrome oceňuju to, že všechno to API je popsané na jednom místě. U Firefoxu jsem vždycky dlouho hledal, a pak si nebyl jist, jestli je to tak, jak to autoři mysleli. Je sice pravda, že se v tom dá udělat téměř vše. Ale proč?
Jmenuju se Petr Blahoš. Programuju něco přes 20 let. Tady se snažím psát hlavně o Pythonu, webovém frameworku Pyramid, a občas i o něčem úplně jiném.
Přečteno 19 398×
Přečteno 11 920×
Přečteno 9 489×
Přečteno 8 943×
Přečteno 8 729×