onclick/onmousedown-problem - opera vs. firefox
fel
- javascript
Hallo,
ich habe eine kleine Seite gebastelt:
http://felltuer.org
Da ich nicht so die html/css/java-script-Könnerin bin,
brauch ich dringend Hilfe bei 2 (hoffentlich) kleineren Makeln.
1.) die Katze auf der Hauptseite reagiert unterschiedlich in opera
und firefox.
es sind 3 Bilder: cat_01 (normal); cat_02 bei onmouseover und cat_03 bei onmousedown bzw bei onclick (war ein Versuch).
Cat_03 soll erscheinen wenn man auf cat_02 draufklickt, und dann solange bleiben bis der mouseout und somit wieder cat_01 kommt.
In firefox funktioniert es sowohl mit onclick als auch onmousedown wunderbar,
in opera jedoch lädt er irgendwie die erste cat nochmal ein; cat_03 bleibt nur wenn man die maustaste gedrückt hält und zuckt zwischendrin seltsam rum.
Die beiden Befehle zu kombinieren oder sachen wie onmouseup einzufügen klappt irgendwie auch nicht ...
Sollte das ganze einfach ein Opera-spezifisches Problem sein kann ich damit leben, ich möchte dann aber wenigstens dass ich den richtigen Befehl verwendet habe bzw alles einigermaßen sauber ist. (soll ja auch Leute geben, die andere Browser benutzen oder so ..)
2.) Downloads laden in neuem Fenster statt Downloaddialog
Unter 'filme' kommt man auf die beiden Unterseiten die die Dateien zum runterladen anbieten. Dabei soll ganz normal der Downloaddialog (speichern oder öffnen etc) erscheinen; tut er aber nicht (immer).
Hier ist das Problem umgekehrt:
In Opera poppt der Dialog perfekt auf; in firefox will er die files aber jeweils in einem neuen Fenster direkt laden, statt zu fragen ob er speichern soll ...
Das tut er soweit ich sehen konnte unabhängig von der target-Einstellung.
(Hab mehrere Arten ausprobiert)
Wie kann ich das unterbinden? Und zwar so dass es in Opera trotzdem noch geht?
Ich dachte ja eigentlich immer, dass der Dialog sowieso kommt, wenn man kein target angibt?!
Wäre auf jeden Fall ganz toll wenn sich das jemand mal anschauen könnte,
ich möchte mich mit der Seite für ein Praktikum bewerben und da wärs doch etwas peinlich wenn etwas nich funktioniert ..
viele Grüße
fel
1.) die Katze auf der Hauptseite reagiert unterschiedlich in opera
und firefox.
in meinem Opera 9.25 funktionierts genau so, wie du es für FF beschreibst
2.) Downloads laden in neuem Fenster statt Downloaddialog
das sind User-Einstellungssachen, da kannst du nix dran machen.
Moin!
Wäre auf jeden Fall ganz toll wenn sich das jemand mal anschauen könnte,
ich möchte mich mit der Seite für ein Praktikum bewerben und da wärs doch etwas peinlich wenn etwas nich funktioniert ..
Ohne Javascript funktioniert eh nicht allzu viel.
Die Mouseover-Effekte kann man auch ohne Javascript mit CSS hinbekommen [spart auch diese unsäglichen onmouseover/onmouseout-Codewüsten im Quelltext], für den Klick-Effekt ist es allerdings unbedingt erforderlich. (die Katze "klappt" übrigens auch bei mir in Opera)
Desweiteren (mal abgesehen vom Tabellenlayout)ist der HTML-Code nicht valide, der Validator hilft dir da weiter.
Die als klickbar gewünschten Elemente sind ohne JS zum größten Teil tot, so z.B. fel und auch die Thumbs auf den Seiten "pics" und "fotos".
Du verwendest schreckliche Konstrukte wie
<a href="#" onClick="MM_openBrWindow('fotos/07_heu.html','','resizable=no,width=550,height=413')"onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('foto07','','foto_07_over.jpg',1)"><img src="foto_07.jpg" alt="07" name="foto07" width="51" height="39" hspace="0" vspace="0" border="0" id="foto07" /></a>
Wenn du die Mouseover und Gestaltung konsequent nur per CSS erledigst und zusätzlich die Bilder auch Besuchern ohne JS verfügbar möchtest, dann bliebe folgendes über:
<a href="fotos/07_heu.html" onclick="MM_openBrWindow(this.href,'','resizable=no,width=550,height=413');return false"><img src="foto_07.jpg" alt="07" name="foto07" width="51" height="39" id="foto07" /></a>
Schon übersichtlicher, oder?
Optional:
Besser wäre es allerdings, auf Javascript-Popups auf window.open-Basis ganz zu verzichten weil heutzutage Popup-Blocker soche Fenster komplett unterdrücken könnten, dazu gibt es spezielle Javascripts wie z.B lightbox, lytebox, thickbox und andere daraus abgeleitete.
Du solltest auch, statt den Javascript-Code in jede Datei einzubinden, eine externe Lösung verwenden.
Leider hat dieser Beitrag wesentlich länger gedauert, als ich geplant hatte, ich habe gerade keine Zeit mehr, daher muß ich noch einige Erklärungen offen lassen. Vielleicht macht ja schon jemand aus dem Forum von sich aus weiter (das ist eine Aufforderung *g*) ... ansonsten frag bei den Sachen nach, die du nicht verstehst.
Cü,
Kai
Hallo,
unter Opera sieht es gut aus, hast du eine ältere Version getestet?
Ansonsten können Unterschiede auch auf den jeweiligen Voreinstellungen oder
den eingebundenen Plugins beruhen.
Wie schon hier im Thread angemerkt wäre eine Umsetzung per CSS vorteilhaft.
Ausserdem würde ich die Art der Bild-/Fotoanzeige über neue 'Fenster' überdenken.
So wäre zu open() das Attribut "dependent" hilfreich, ausserden könnte immer
das gleiche Fenster aufgemacht werden (natürlich mit unterschiedlichem
Inhalt), es müßte sich dann noch nach dem Laden der Seite -onload- in den
Vordergrund bringen (window.focus()).
Oder du verzichtest ganz auf die Pop-Ups und lädst eine geeignete Seite in
das normale Fenster.
Grüsse
Cyx23
Hallo
Also zunächst mal muss ich euch recht geben-
der Quelltext ist nicht wirklich professionell,
das kann man sicher besser machen.
Da ich aber zeitlich etwas unter Druck bin,
mussten statt schönem css der Dreamweaver und javascript
herhalten.(wobei DW wohl den nicht-validen Quelltext
mitverursacht hat ...*hüstel* ich wars natürlich nicht)
Macht aber eigentlich auch nichts, denn es sollte einfach
nur alles richtig aussehen und funktionieren, das tut es ja
anscheinend :) juhu!
Ausserdem hab ich mal aus Spass die Seiten der Firmen getestet, bei denen ich mich bewerben will-
solange die weitaus mehr als doppelt so viele Fehler in ihrem Code haben, muss ich mir als potentielle Praktikantin wohl keine Sorgen machen xD
Das Katzen-Problem ist mittlerweile gelöst, ich habe hinter dem Link einfach noch ein return false; eingefügt, nun klappt es auch bei den Leuten bei denen es bisher in Opera 9.24/5 nciht ging ... (waren mit mir eh nur 2 so wie es aussieht .. xD)
Achja, und das mit den PopUps ist so ein persönliches Ding von mir ... ich mag die einfach :))
Wenn ich es heute noch schaffe werd ich versuchen das auch einzubauen, klingt sehr gut, Cyx23!
Vielen Dank euch allen für die Mühe! :)
Werd mir den thread mal aufheben als Unterstützung zum 'gescheit' lernen irgendwann ;)
grüßle
fel