• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Code funktioniert nicht im Firefox

Status
Für weitere Antworten geschlossen.

sly

Neues Mitglied
Hallo zusammen,

habe eine kleine Mondkartenbastelei mit DHTML und Javascript angefangen:

war auch total begeistert das das alles im Internetexplorer funzt doch dann musste ich sehen das der Firefox den Code nicht liest.

Hier mal der Link zur Seite:

http://www.slyspace.de/astronomie/Mondkarte.html

Wenn ich links oben auf das kleine Mondbild gehe soll die Übersichtskarte aufklappen, wie gesagt im IE geht es auch aber nicht im Firefox. Ich weiß nicht mehr weiter, vielleicht habt ihr noch ne Idee.

Vielen Dank im Voraus, Gruß Sebastian
 
Code:
onmouseover="Einblenden(); Bildwechsel(11, Normal666); javascript:Diawechsel00()"
Hier rufst du die Funktion Einblenden() auf. Die wurde jedoch nirgendwo vor ihrem aufruf definiert!

Code:
href="javascript:Ausblenden(), Bildwechsel(9, Highlight8)"
Zwischen den aufruf von Ausblenden und Bildwechsel gehört ein Semikolon. Ausblenden wurde ebenfalls nicht vor seinem aufruf definiert sondern erst danach!

Du musst also den code von Ein- und Ausblenden mit in den Kopf tun damit es funktioniert!
 
Leider kein Fortschritt

Hallo Prophet,

danke für die schnelle Antwort, ich habe nun die functionen in den Head genommen, also vor dem Ereignis definiert: siehe:

http://www.slyspace.de/astronomie/Mondkarte.html

leider hat das nichts geändert, immernoch geht es im IE aber nicht im Firefox

Gruß Sebastian

P.S.: danke für den Hinweis mit den Semikolons, auch das habe ich mal geändert
 
Du verwendest das all-Objekt welches leider nicht von Mozilla unterstützt wird.

Ich würde dir empfehlen das script so umzuschrieben das es das node-Objekt verwendet. Dessen eigenschaften werden von den meisten browsern unterstützt.
 
Ja, sowas habe ich mir schon gedacht, leider bin ich nicht so fit in der Programmierung:

wenn ich also diese Zeile hätte

window.document.all.term01.style.visibility = "visible";


wie müsste das mit dem Node-Objekt aussehen???

Gruß Sebastian

P.S.:

hab jetzt mal folgendes probiert:

function Einblenden()
{
window.document.getElementById("term01").style.visibility = "visible";
window.document.getElementById("term02").style.visibility = "visible";
window.document.getElementById("term03").style.visibility = "visible";
window.document.getElementById("term04").style.visibility = "visible";
window.document.getElementById("term05").style.visibility = "visible";
window.document.getElementById("term06").style.visibility = "visible";
window.document.getElementById("term07").style.visibility = "visible";
window.document.getElementById("termv").style.visibility = "visible";
document.getElementById("termvv").style.visibility = "hidden";
document.getElementById("verdeck").style.visibility = "hidden";
document.getElementById("fenster").style.visibility = "hidden";
}

mit dem Erfolg das alles so funktioniert wie vorher, Firefox nein IE ja
 
Zuletzt bearbeitet:
In dem von dir geposteten Quelltext sind freizeichen mitten in den anweisungen ist das auch im script so? Wenn ja sollten die da weg!

Lass mal testweise sas window. weg.

Sonst kann ich keinen fehler erkennen.
 
Hallo,

also die Leerzeichen sind nur durchs kopieren des Quelltextes entstanden, das window hab ich jetzt mal weggelassen:

function Einblenden()
{
document.getElementById("term01").style.visibility = "visible";
document.getElementById("term02").style.visibility = "visible";
document.getElementById("term03").style.visibility = "visible";
document.getElementById("term04").style.visibility = "visible";
document.getElementById("term05").style.visibility = "visible";
document.getElementById("term06").style.visibility = "visible";
document.getElementById("term07").style.visibility = "visible";
document.getElementById("termv").style.visibility = "visible";
document.getElementById("termvv").style.visibility = "hidden";
document.getElementById("verdeck").style.visibility = "hidden";
document.getElementById("fenster").style.visibility = "hidden";
}

siehe auch: http://www.slyspace.de/astronomie/Mondkarte.html

aber leider geht es dennoch nicht im Firefox während der IE es frisst

Gruß Sebastian
 
Da ich sonst keine fehler finde versuch mal folgendes:

Du leitest das script mit folgendem ein:
HTML:
<script language="JScript" type="text/jscript">

Language ist eine erfindung des internet explorers und der "korrekte" mime-type für javascript lautet "text/javascript". Also ersetzte das oben zitierte durch das hier:
HTML:
<script type="text/javascript">

Ausserdem ist es eigentlich üblich das man das Script selbst innerhalb des Script-Elements auskommentiert. Das sieht dan so aus:
HTML:
<script type="text/javascript"><!--
/* Dein Script .... */
//--></script>

Dadurch soll verhindert werden das browser ohne korrekte unterstützung müll bauen.

Sonst fällt mir im moment leider nicht ein.
 
Also ersteinmal VIELEN VIELEN Dank, ich bin schon mal einen großen Schritt weiter wenn auch nicht am Ziel:

mit der Änderung auf <script type="text/javascript">, lassen sich nun endlich die gewünschten Bilder einblenden,

allerdings lässt sich im Firefox nicht auf die tieferliegende Bilder zugreifen (also auf diese mit einem niedrigerem Z-Wert) und zwar auch dann wenn die darüberliegenden ausgeblendet (hidden) sind, während das im IE geht!

Man könnte also sagen das die Bilder im Firefox nur "visuell" ausgeblendet werden
während sie im IE visuell UND "funktionell" ausgeblendet werden so das unsichtbare Bilder den Zugriff auf tieferliegende Bilder und deren Funktionen nicht versperren.

Wie bekomm ich das den jetzt noch dem Firefox beigebracht, wenn das noch klappen täte dann wäre ich wunschlos glücklich.

Vielleicht hast du oder jemand anderes noch einen Tipp

Danke und Gruß Sebastian
 
Also, ich dachte schon ich hätte das Problem nun endgültig gelöst, ich bin einfach hingegangen und habe die ausgeblendeten Bilder auf 2 Pixel minimiert, und wenn sie wieder eingeblendet werden:

das sieht dann so aus:

function Einblenden()
{
document.getElementById("term01").style.visibility = "visible";
document.getElementById("term01").style.height = "550px";
document.getElementById("term02").style.visibility = "visible";
document.getElementById("term02").style.height = "550px";
document.getElementById("term03").style.visibility = "visible";
document.getElementById("term03").style.height = "550px";
document.getElementById("term04").style.visibility = "visible";
document.getElementById("term04").style.height = "550px";
document.getElementById("term05").style.visibility = "visible";
document.getElementById("term05").style.height = "550px";
document.getElementById("term06").style.visibility = "visible";
document.getElementById("term06").style.height = "550px";
document.getElementById("term07").style.visibility = "visible";
document.getElementById("term07").style.height = "550px";
document.getElementById("termv").style.visibility = "visible";
document.getElementById("termv").style.height = "550px";
document.getElementById("termv01").style.visibility = "hidden";
document.getElementById("termv01").style.height = "1px";
document.getElementById("termv02").style.visibility = "hidden";
document.getElementById("termv02").style.height = "1px";
document.getElementById("termv03").style.visibility = "hidden";
document.getElementById("termv03").style.height = "1px";
document.getElementById("termv04").style.visibility = "hidden";
document.getElementById("termv04").style.height = "1px";
document.getElementById("termv05").style.visibility = "hidden";
document.getElementById("termv05").style.height = "1px";
document.getElementById("termv06").style.visibility = "hidden";
document.getElementById("termv06").style.height = "1px";
document.getElementById("termv07").style.visibility = "hidden";
document.getElementById("termv07").style.height = "1px";
document.getElementById("fenster").style.visibility = "hidden";
}

function Ausblenden()
{
document.getElementById("term01").style.visibility = "hidden";
document.getElementById("term01").style.height = "2px";
document.getElementById("term02").style.visibility = "hidden";
document.getElementById("term02").style.height = "2px";
document.getElementById("term03").style.visibility = "hidden";
document.getElementById("term03").style.height = "2px";
document.getElementById("term04").style.visibility = "hidden";
document.getElementById("term04").style.height = "2px";
document.getElementById("term05").style.visibility = "hidden";
document.getElementById("term05").style.height = "2px";
document.getElementById("term06").style.visibility = "hidden";
document.getElementById("term06").style.height = "2px";
document.getElementById("term07").style.visibility = "hidden";
document.getElementById("term07").style.height = "2px";
document.getElementById("termv").style.visibility = "hidden";
document.getElementById("termv").style.height = "2px";
document.getElementById("fenster").style.visibility = "visible";
}

siehe auch hier: http://www.slyspace.de/astronomie/Mondkarte2.html

das funktioniert prinzipiell auch wunderbar (100 prozentig funzt es, wie könnte es anders sein im IE)
beim Firefox wird nun auf allen Grafiken bei denen gar kein bildwechsel oder javascriptbefehl hinterlegt ist der Befehl:

javascript:Ausblenden();javascript:Termv07ein();

hinterlegt so das auf allen Grafiken wo das gar nicht sein dürfte die Hand statt des MausPfeiles kommt wenn man mit der Maus darüber fährt, beim Klick wird der Befehl aber auch nicht ausgeführt und ich finde im Code auch keinen Grund warum das so ist.

Hiiiiiiiiilfe, ich glaube ich werde langsam irre

Gruß Sebastian
 
So Hallo nochmal,

ALLE PROBLEME GELÖST, letztenendes hatte ich nur vergessen das <a href> tag mit einem </a> Tag abzuschließen so das er den letzten Befehl für alle folgenden Grafiken übernommen hat!

Jetzt funktioniert die Mondkarte in beiden Browsern und alles ist wunderbar, VIELEN DANK nochmal speziell an Prophet für deine geduldige Hilfe

Gruß Sebastian
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben