Problem ten powoduje dodatek Gesty. Czy jest włączony, czy nie, to pewne funkcje są i tak wywoływane podczas otwierania nowego okna.
Poniżej trochę technicznego bełkotu (nie znam się na programowaniu Mozi, więc mogę się mylić w niektórych kwestiach) - może nasz TIM coś poradzi na to?
Podczas otwierania wiadomości wykonywana jest funkcja
determineWindowType() (w pliku
windowTypes.js), która ma za zadanie sprawdzić na jakim aktualnie oknie pracuje dodatek Gestures. Lista typów okien jest zdefiniowana w pliku
windowTypes.rdf - właśnie ten plik powoduje błąd.
Funkcja sprawdza czy aktualnie otwierane okno znajduje się na liście znanych okien:
- Kod: Zaznacz cały
if (getPropertyValue(dsource, typeDef, mgNs + "location")
== document.location.href) {
Dodałem sobie taką małą komendę do tej funkcji:
- Kod: Zaznacz cały
alert(document.location.href + "\n" + getPropertyValue(dsource, typeDef, mgNs + "location"));
i podczas otwierania wiadomości w nowym oknie okazuje się, że:
- Kod: Zaznacz cały
document.location.href = chrome://messenger/content/messageWindow.xul
podczas gdy w
windowTypes.rdf nie ma zdefiniowanego typu dla tego okna. Stąd ten komunikat.
I teraz prośba do tych co bardziej siedzą w Mozi od strony programowej: co należy wstawić do
windowTypes.rdf żeby w/w funkcja znalazła typ wyświetlanego okna?
Ja zrobiłem coś takiego:
plik windowType.js (linia 112) jest:
- Kod: Zaznacz cały
kMGPref = (windowType == "messenger") ? "mozgest.gestureCount.mail."
zmieniłem na:
- Kod: Zaznacz cały
kMGPref = (windowType == "messenger" || windowType == "viewmessage") ? "mozgest.gestureCount.mail."
plik windowTypes.rdf - przed:
- Kod: Zaznacz cały
</RDF:Seq>
</RDF:RDF>
dodałem:
- Kod: Zaznacz cały
<RDF:li>
<RDF:Description>
<type>viewmessage</type>
<depends>messenger</depends>
<location>chrome://messenger/content/messageWindow.xul</location>
<contentarea>document.getElementById("messagepane");</contentarea>
<contextmenu>messagePaneContext</contextmenu>
<showmsg>document.getElementById("statusText").setAttribute("label", msgStr);</showmsg>
</RDF:Description>
</RDF:li>
Czy to jest dobrze to nie wiem, ale u mnie działa. W razie co mogę podesłać poprawiony plik mozgest.jar.