Patrick Andrieu: Unterschiedliches Verhalten zweier nachfolgender Opera-Versionen

Hallo!

Ich stehe hier von einem Problemchen mit Opera 7.11 ...

Ich lasse mit folgendem Code beim Drüberfahren einer kleinen Grafik mit der Maus einige Sachen passieren:

<div id="nav1" class="nav"><a href="#" onMouseover="eyes.src='pics/leftupst.gif';smile.src='pics/smile2.gif';her('tooltip1');" onMouseout="eyes.src='pics/normal.gif';smile.src='pics/smile1.gif';hauab('tooltip1');" onClick="her('tafel');just1egg('open-nav1');just1text('tafeltext1');her('tcenter');zeigmap();return false;"><img src="pics/nav_faq.gif" width="50" height="56" border="0" alt=""></a></div>

Wenn der Mauszeiger über das Bildchen ist, soll also folgendes passieren:

  • das Bild "normal.gif" soll durch "leftupst.gif", "smile1.gif" durch "smile2.gif" und ein Tooltip ("tooltip1") soll erscheinen.

Während alle mir zur Verfügung stehenden Browser der "Marken" MSIE, Mozilla und 5. > Opera < 7.11 anstandlos das Spektakelchen darstellen, weigert sich Opera 7.11 hartnäckig, die 2 Bilder auszutauschen und liefert nur den Tooltip. Seine älteren Brüder Opera 6.05 und Opera 7.03 dagegen zeigen alles anstandslos an (sowohl Tooltip als Austausch der Bilder)...

Jemand 'ne Idee?

Viele Grüße aus Frankfurt/Main,
Patrick

  1. hi,

    Während alle mir zur Verfügung stehenden Browser der "Marken" MSIE, Mozilla und 5. > Opera < 7.11 anstandlos das Spektakelchen darstellen, weigert sich Opera 7.11 hartnäckig, die 2 Bilder auszutauschen und liefert nur den Tooltip.

    javascript-konsole aktiviert? meldungen?

    gruss,
    wahsaga

    1. Hallo "Wahrsager"!

      javascript-konsole aktiviert? meldungen?

      Also, die von Mozilla bleibt sauber leer. Beim Opera kenne ich mich nicht so aus, aber wenn es Fehler gab ist immer etwas aufgepoppt. Ist diesmal nicht der Fall. Seltsam ist wie erwähnt, dass die 7.03 keine Probleme macht...

      Viele Grüße aus Frankfurt/Main,
      Patrick

  2. Hi Patrick,

    könntest du den gesamten Code mal posten?

    Ciao
    Christian

    1. Hallo Christian!

      Problem gelöst (siehe [pref:t=62345&m=352466])...

      könntest du den gesamten Code mal posten?

      Sorry, aber solange es nicht offiziell online ist, möchte ich nichts verraten :)

      Viele Grüße aus Frankfurt/Main,
      Patrick

  3. Hallo,

    Ich stehe hier von einem Problemchen mit Opera 7.11 ...

    Ich lasse mit folgendem Code beim Drüberfahren einer kleinen Grafik mit der Maus einige Sachen passieren:

    <div id="nav1" class="nav"><a href="#" onMouseover="eyes.src='pics/leftupst.gif';smile.src='pics/smile2.gif'

    ^was ist das?                ^und das?

    Ich nehme an, die IMG-Elemente haben die name-Attribute "eyes" und "smile"? Dann:

    onmouseover="document.images['eyes'].src='pics/leftupst.gif';document.images['smile'].src='pics/smile2.gif'

    Man _könnte_ es verkürzen auf:

    onmouseover="document.eyes.src='pics/leftupst.gif';document.smile.src='pics/smile2.gif'

    viele Grüße

    Axel

    1. Hallo,

      Sorry. Gemeint war:

      onMouseover="eyes.src='pics/leftupst.gif';smile.src='pics/smile2.gif'

      ^was ist das?                ^und das?

      viele Grüße

      Axel

    2. Hallo Axel!

      Ich nehme an, die IMG-Elemente haben die name-Attribute "eyes" und "smile"? Dann:

      Ja... und diese "Technik" nutze ich seit jeher ohne Beanstandungen (onMouseover="image_name.src .. etc... wenn <img name="image_name" src="bla.gif">).

      Aber, Du hast mir auf die Besonderheit gebracht, auf die Opera 7.11 (und erstaunlicherweise stören sich die früheren Versionen nicht daran) durch Verweigerung reagiert hat. In so fern vielen Dank für den Hinweis, der mich auf die richtige Stelle im Code führte.

      Weiter oben hatte ich:

      <div id="eyes"><img name="eyes" src="pics/normal.gif" width="182" height="81" border="0" alt=""></div>
      <div id="smile"><img name="smile" src="pics/smile1.gif" width="146" height="127" border="0" alt=""></div>

      Also: das DIV hatte die ID "eyes" und das Bild den name "eyes". Das Gleiche bei "smile"... Ich habe das geändert in:

      <div id="eyes"><img name="p_eyes" src="pics/normal.gif" width="182" height="81" border="0" alt=""></div>
      <div id="smile"><img name="p_smile" src="pics/smile1.gif" width="146" height="127" border="0" alt=""></div>

      und siehe da: läuft wieder! Kann mir dennoch einer erklären, warum es allen anderen Browsern schnurpiepsegal ist, inklusive frühere Opera-Versionen?

      Viele Grüße aus Frankfurt/Main,
      Patrick

      1. Hallo Axel,

        Ja... und diese "Technik" nutze ich seit jeher ohne Beanstandungen (onMouseover="image_name.src .. etc... wenn <img name="image_name" src="bla.gif">).

        Zitat Cheatah: "Dass etwas funktioniert war noch nie ein Beweis dafür, dass es korrekt ist." ;-))

        Also: das DIV hatte die ID "eyes" und das Bild den name "eyes". Das Gleiche bei "smile"... Ich habe das geändert in:

        Kann mir dennoch einer erklären, warum es allen anderen Browsern schnurpiepsegal ist, inklusive frühere Opera-Versionen?

        Da macht Opera 7.11 was falsch denn:
        http://www.w3.org/TR/html4/struct/global.html#h-7.5.2
        Note. The id attribute shares the same name space as the name attribute when used for anchor names. Please consult the section on anchors with id for more information.

        Bei A-Elementen teilen sich ID und NAME also _einen_ name space. Bei DIV und IMG sollten sie das _nicht_ tun.

        viele Grüße

        Axel