MozillaPL.org - polskie centrum Mozilli

Główne menu:

[beginner]toolbar - getElementById

Projektowanie aplikacji i rozszerzeń opartych na technologiach Mozilla Foundation: XUL, JavaScript, XPCOM, XBL i innych

Moderator: Pomocy?!

[beginner]toolbar - getElementById

Postautor: Jurkil » 03 kwietnia 2007, 10:32

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3

Witam. Próbuje utworzyć "dodatek" do firefox zawierający jedynie "toolbar", który zmienia kolor:



Kod: Zaznacz cały
...
<script type="application/x-javascript" >

function colorize(newStyle)
{
  var Tag = window.document.getElementById('worktoolbar');
 
  if (Tag)
  {
    tag.setAttribute("style",newStyle);
  }
  else
  {
    alert("error");
  }
 
}
</script>

<toolbox>
 <toolbar id="worktoolbar" style = "background-color:yellow" >
      <toolbarbutton label="Color:" />
      <toolbarbutton type="radio" name="color" label = "red"
                     oncommand="colorize('background-color:red');" />   
      <toolbarbutton type="radio" name="color" label="yellow"
                     oncommand="colorize('background-color:yellow');"/>   
    </toolbar>
 </toolbox>

</overlay>


Niestety getElementById zawsze zwraca mi nulla. Gdzie tkwi mój błąd?

Dziękuje z góry za wszelką pomoc.

PS Czy jest możliwe wywołanie programu javy (nie javascript) z poziomu rozszerzenia firefoxa?[/code]
Jurkil
 
Posty: 6
Z nami od: 03 kwietnia 2007, 10:00

Postautor: Ancestor » 03 kwietnia 2007, 10:52

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3

Przeniosłem do właściwego działu.

Na początek, jeśli jeszcze tego nie zrobiłeś, warto przeczytać ten artykuł.

W skrócie:
1. Może dałeś wrzuciłeś go w plik XUL tylko w celu pokazania nam, ale w na wszelki wypadek powiem, że kod JS zdecydowanie najlepiej jest umieści w oddzielnym pliku. Jeśli już musisz zagnieżdżać go do w ten sposób, to należy ująć go w <![CDATA[ ........ ]]> (XML-owy odpowiednik HTML-owego <!-- ........ --> )

2. Co to za atrybut: name? Może chodziło ci o toolbarname?

3. Wreszcie, najważniejsze, czyli prawdopodobny powód, dla którego twój toolbar nie jest odnajdywany. Jeśli chcesz umieścić go w głównym toolbox Firefoksa, to musisz podać jego ID.
Kod: Zaznacz cały
<toolbox id="navigator-toolbox">
  <toolbar>
    .....


PS Czy jest możliwe wywołanie programu javy (nie javascript) z poziomu rozszerzenia firefoxa?

Nie. Co prawda Firefox ma możliwość obsługi Javy, ale opcja ta nie jest dostępna w standardowych kompilacjach. Poza tym, nie można jej używać w taki sposób, jak myślisz - kod działający w oknie przeglądarki, korzystający z DOM, musi być w JavaScripcie. W Javie można pisać komponenty XPCOM.
Ancestor
Moderator
 
Posty: 1799
Z nami od: 11 czerwca 2005, 20:25
Lokalizacja: Sopot

[beginner]toolbar - getElementById

Postautor: Jurkil » 03 kwietnia 2007, 11:33

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3

Wielkie dzięki za szybką pomoc!!!
Jurkil
 
Posty: 6
Z nami od: 03 kwietnia 2007, 10:00

Postautor: marcoos » 03 kwietnia 2007, 11:45

Przeglądarka: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.10) Gecko/20070228 Camino/1.0.4 (MultiLang)

Ancestor pisze:Nie. Co prawda Firefox ma możliwość obsługi Javy, ale opcja ta nie jest dostępna w standardowych kompilacjach. Poza tym, nie można jej używać w taki sposób, jak myślisz - kod działający w oknie przeglądarki, korzystający z DOM, musi być w JavaScripcie. W Javie można pisać komponenty XPCOM.


Na bardzo upartego, mając plugin Javy w przeglądarce (także w domyślnej kompilacji), możliwe jest dostanie się do apletu Javy poprzez LiveConnect i HTML-owy znacznik <applet>. No i jest też obiekt Packages...

Nie widziałem jednak, żeby kiedykolwiek ktoś to robił z poziomu aplikacji XULowych (choć chyba nic nie powinno stać na przeszkodzie). Poza tym, sterowanie apletem z poziomu XUL albo odwrotnie wydaje mi się raczej dość dziwne. ;)
marcoos
Moderator
 
Posty: 2227
Z nami od: 12 października 2002, 10:25
Lokalizacja: Wrocław


Wróć do Programowanie z użyciem technologii Mozilli

Kto jest online

Zarejestrowani użytkownicy: Bing [Bot], Google [Bot]

Przejdź do powiązanej strony

Nawigacja:

Stopka: