Rozšířeni pro Chrome je jen obyčejný javascript. A ten je kompatibilní napříč prohlížeči i systémů. Takže pokud Firefox použije stejné volání, tak nevidím důvod, proč by to pak nemělo fungovat bez přepisování. Problémy mohou nastat jedině ve využití specifických funkcí. Jako že Chrome má toto, ale Firefox už ne nebo jinak.
Ano Cčko je multiplatformní. Pokud napíšete jednoduchý kód, pak je kompatibilní na všem.
Cčko začne selhávat ne kvůli jazyku nebo kódu, ale kvůli knihovnám, které jsou přizpůsobeny pro konkrétní systémy, hardware apod. Takže to není jazyk, ale nutnost přizpůsobení na konkrétní věc.
V principu to platí i pro Javascript. Ale zde se jedná o dosti specifické účely. U nich je už na pohled jasný, že mohou být nekompatibilní. Klientský JS vs serverový JS vs mobilní JS. Mobilní JS může obsahovat funkce, které přistupují k hardwaru mobilu (třeba měřič tepů). Klientský JS takové funkce nemá a proto nebude fungovat.
Jenže v případě zprávičky, tedy rozšíření prohlížeče, je situace naprosto jiná. Zde se jedná pouze o klientský JS. Klientský Javascript je ale striktně standardizován. Tudíž prohlížeče se musí přizpůsobit tomuto standardu. Kdo neuposlechne, je většinou ze hry. Tudíž kompatibilita mezi prohlížeči je téměř zaručena. A to platí i pro rozšíření, protože používají stejné prostředky jako javascript načtený z webové stránky. Takže kompatibilita rozšíření je taková jaká je kompatibilita webu.