Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Bildchen wechsel Dich (oder doch nicht *sigh*)





Frage

Moin zusammen, Ich habe hier ein simples kleines Script: [code] swapImg = function(source) { document.getElementById('bild_id').src = source; } [/code] Und den passenden HTML-Teil dazu (Aufruf): [code] <a href="javascript:;" onclick="swapImg('/path/to/img.endung')">Bild wechseln</a> [/code] Und das Bild steht wie folgt im Quelltext: [code] <img src="/path/to/picture.jpg" id="bild_id" alt="" /> [/code] Das ganze funktioniert im Firefox, im Internet Explorer 7, im Internet Explorer 5, ... aber der 6er streickt. Er wechselt zwar das Bild, zeigt es aber nicht an. Ich kann das Bild aber über das Kontextmenü ("Bild anzeigen") anzeigen lassen. Er zeigt's nur einfach nicht auf Anhieb. Jemand eine Idee, woran das liegen könnte und eventuelle Lösungsvorschläge? --rabies.

Antwort 1 von kicia

entweder:
<a href="javascript:swapImg('/path/to/img.endung');">Bild wechseln</a>


oder:
<a onclick="swapImg('/path/to/img.endung')">Bild wechseln</a>


Antwort 2 von rfb

ich vermute mal, dass der IE wieder mal über die fehlende Bildgrößenangabe stolpert.

Antwort 3 von rabies

Mhh, das mit den Größenangaben kann ich ausschließen.

Ich hab's probiert, die Größen fest anzugeben (per CSS und auch direkt im Markup), der IE6 streikt weiterhin.

kicia: Das event 'onclick' wird ja ausgelöst, ... Am scheiternden Aufruf der Funktion
swapImg
liegt es nicht. - Wie gesagt, nachdem ich die Funktion mit dem passenden Parameter als Bildnahme aufgerufen habe, kann ich das Bild auch an besagter Stelle mithilfe des Kontextmenüs unter dem Punkt 'Bild anzeigen' auch anzeigen lassen.

--rabies.

Antwort 4 von kicia

Nimms mir nicht übel, aber ich habe den Verdacht, daß Du die Korrekturen gar nicht probiert hast, hab ich recht?
Nun, um der Sache weiter auf den Grund zu gehen, müsste man den ganzen Code sehen, denn wenn ich den Code nehme, den Du gepostet hast, tritt genau der Fehler auf, den Du geschildert hast. Wenn ich ihn so ändere, wie ich vorgeschlagen habe, funktioniert's. (IE 6.0)

Es gibt meines Wissens auch einen Unterschied zwischen
"/path/to/..."
und
"./path/to/..."
. Also mit oder ohne Punkt am Anfang. (siehe Selfhtml)
Ich weiß aber nicht, ob sich das darauf auswirkt.

Antwort 5 von hein56

also bei mir funzt der von rabies gepostete code im ie6 ohne probs.

Zitat:
Es gibt meines Wissens auch einen Unterschied zwischen "/path/to/..." und "./path/to/..."

allerdings! verstehe bloss nicht, wie du auf den gedanken kommst?

Antwort 6 von rabies

Da muss ich wohl Klein-Bei geben & mich entschuldigen. Nein, ich habe die Korrekturen vor meinem letzten Post nicht noch einmal versucht, da ich im Hinterkopf hatte, genau das vorher schon erfolglos probiert zu haben. Nun ja, danke, es funktioniert mit der Schreibweise
<a href="javascript:swapImg('/path/to/whatever')">Text</a>


Ja, zwischen
./path
und
/path
gibt es einen Unterschied. Die erste Schreibweise würde den Ordner 'path' relativ zum derzeitigen Ordner suchen. Bei der zweiten Schreibweise würde der Browser den Ordner path im Root des Webspaces suchen.

Wie Du darauf kommst, weiß ich allerdings auch nicht.

Naja, wieder was gelernt. Aber warum der IE6 neben IE7 und IE5 aus der Reihe tanzt, ist mir unklar.

Danke nochmals,
--rabies.

Antwort 7 von kicia

Na,hauptsache, es funktioniert jetzt.
Zitat:
Wie Du darauf kommst, weiß ich allerdings auch nicht

Ich gebe zu, das war aus meinem Post nicht zu ersehen.
Es war das einzige, was mir abgesehen von meiner ersten Idee noch als möglicher Fehler einfiel. Hätte ja ein Versehen sein können, da ich ja nicht wußte, wo das Bild relativ zu der Seite liegt.
Daß es überhaupt angezeigt wurde, hätte daran liegen können, daß IE den Fehler vielleicht irgendwie geradebiegt.

Immerhin, ich habe auch etwas gelernt. Ich habe nämlich noch nie diese Schreibweise (ohne Punkt) verwendet und mich darum auch noch nie damit auseinandergesetzt.
Gruß, k.