Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Entwickler>Safari + Ein-/Ausblenden von DIVs

Safari + Ein-/Ausblenden von DIVs

Tom
Tom22.12.0310:58
Hi!

Ich bräuchte mal die Hilfe von einigen Safari-Spezies

Ich habe ein Skript, welches mir Layer (Divs) als Submenues ein- und ausblendet (durch mouseover).
Es ist ein Cross-Browser-Skript, welches auf den neueren Browsern eigentlich überall läuft, auf dem Safari jedoch erst beim zweiten Durchlauf funktioniert (dann auch ohne Probleme). Beim ersten Versuch (MouseOver) regt sich leider garnichts.

Da ich von diesem Phänomen schon des öfteren gehört habe (nicht unbedingt in Zusammenhang mit Divs), hier meine Frage:

Sind irgendwelche typischen Ursachen für dieses Problem bekannt?


mfg tom


0

Kommentare

hoshbad
hoshbad22.12.0312:30
Also ich hab damit nie Probleme:

<div id="foo" style="position:absolute;z-index:1;display:none">asd</div>

<a href="#" onMouseOver="document.getElementById('foo').style.display='inline'">TestLink</a>


Das klappt mit allen Browsern, auch mit Safari.
0
hoshbad
hoshbad22.12.0312:35
Das war wohl nichts

Ich hab die Datei unter
hochgeladen.

Schau es dir mal an.
0
Tom
Tom22.12.0313:31
Hi, nochmal.

hm, wie gesagt, am einblenden der layer an sich scheint es nicht zu liegen. Das funktioniert einwandfrei, aber leider erst ab dem zweiten mouseover event mal.


Das Phänomen, dass Skripte erst beim 2ten Aufruf vom safari ausgeführt werden, scheint des öfteren auch bei anderen Skripten aufzutreten.

Hat jemand damit schon einmal Probleme gehabt?

(Trotzdem Danke für die Mühe @ hoshbad)
0
hoshbad
hoshbad22.12.0314:06
Ups, dass es beim zweiten Mal klappt habe ich ganz überlesen.

Also ich entwickle zur Zeit an einem einem recht großes Projekt mit, welches sich auf Browser-Ebene anspielt. Dort wird sehr viel Javascript verwendet, allerdings hab ich keinerlei Probleme mit Safari.

Letztens hatte ich aber in eine Software ein recht kompliziertes JS eingebaut und da hat Safari es auch erst beim zweiten Event gemacht, stimmt, jetzt erriner ich mich daran. Da habe ich den Code einfach neugeschrieben und etwas anders gebaut, dann gings.

Sehr seltsam, sorry, dass ich dir nicht helfen kann.
0
Pinguin22.12.0315:58
bei mir gehts von anfang an
vielleicht solltest du nochmal Safari updaten
0
Tom
Tom22.12.0317:09
Seltsam, seltsam. Da muss ich dem Problem wohl oder übel selbst auf die Schliche kommen

Seltsam ist, wie gesagt nur, dass es sonst auf allen Browser der 5er Generation nicht solche Zicken macht.

Behandelt der Safari Events evtl. anders als gängige Browser bzw. gibt es dabei bestimmte Dinge zu berücksichtigen?

BITTE BERÜCKSICHTIGEN:
Mein Skript funktioniert an sich. Auf dem Safari halt erst beim 2ten Aufruf


Danke für Eure Mühe.

Tom
0
Björn08.01.0412:02
Hallo,
ähnliche Probleme machen auch andere Browser. Bis jetzt hab ich in anderen Foren auch noch keine Erklärungen dafür gefunden. Beim einen läufts, beim anderen nicht?! Allerdings gibts eine einfachere Lösung um ein div auftauchen und verschwinden zu lassen. Dies funktioniert mit css und macht sich die Eigenschaft :hover zu nutze. Das läuft problemlos auf allen Browsern ab ver. 5! Der Vorteil dieser VErsion ist der VErzicht auf JS!
Mehr findest Du in einer der letzten ct`s aus 2003. Ich glaub es steht in 23, 24 oder 25 im zweiten Artikel über xhtml.

Viele Grüße

Björn
0
Tom
Tom06.02.0415:47
Hier mal ein kleiner Nachtrag:

Das Problem entstand dadurch, dass Safari seinen navigator.useragent automatisch ändert, wenn Skripte nicht korrekt ausgeführt werden.
(Darauf muss man auch erstmal kommen )

Nur falls jemand ähnliche Probleme haben sollte.

mfg tom

0
frashier
frashier22.12.0316:13
dieser bug ist mir nicht bekannt und probs hatte ich damit auch noch nicht !!
<br>
<br>gugge mal hier: http://www.css-blog.com
0
Hobbit 08.01.0412:24
Hi
<br>
<br>ich denke der link sollte helfen:
<br>
<br>http://developer.apple.com/internet/safari_faq.html#3
<br>
<br>DHTML muß für unterschiedliche Browser unterschiedlich angesprochen werden
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.