HighDots Forums  

Bild auf einer Webseite 1x aktualisieren

Javascript (German) Programmiersprache JavaScript. (de.comp.lang.javascript)


Discuss Bild auf einer Webseite 1x aktualisieren in the Javascript (German) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Hubert Holler
 
Posts: n/a

Default Bild auf einer Webseite 1x aktualisieren - 07-25-2007 , 06:04 AM






Ich möchte ein Bild auf einer Webseite beim Aufruf 1x aktualisieren und habe
dazu folgendes versucht:

<input type="file" id="lokalfoto1" name="lokalfoto1" />
<img src='/lokale/33_bild_1.jpg' width='60' name='lokalfoto1'
onload=''setTimeout('document.images.lokalfoto1.sr c
=\'/lokale/33_bild_1.jpg?\' + new Date().getTime();
document.images.lokalfoto1.onload = null;', 1000);'' /><p></p>

Leider funktioniert dies nicht. Die Aktualisierung wird nicht durchgeführt.

Muss ich da evtl. auch etwas beim Browser (IE, Firefox, Opera) aktivieren.
Javascript habe ich aktiviert.

Hoffe da kann mir jemand weiterhelfen.
Vielen Dank für jede Antwort
Hubert



Reply With Quote
  #2  
Old   
Wolfgang Fellger
 
Posts: n/a

Default Re: Bild auf einer Webseite 1x aktualisieren - 07-25-2007 , 08:24 AM






Hubert Holler schrieb:

Quote:
img src='/lokale/33_bild_1.jpg' width='60' name='lokalfoto1'
onload=''setTimeout('document.images.lokalfoto1.sr c
^^
=\'/lokale/33_bild_1.jpg?\' + new Date().getTime();
document.images.lokalfoto1.onload = null;', 1000);'' /
^^

Falls das ein " darstellen sollte... es ist keins.
Du solltest einen Editor mit Syntaxhighlighting verwenden, dann fällt sowas
gleich auf.

--
Wolfgang Fellger


Reply With Quote
  #3  
Old   
Hubert Holler
 
Posts: n/a

Default Re: Bild auf einer Webseite 1x aktualisieren - 07-25-2007 , 02:26 PM



Quote:
img src='/lokale/33_bild_1.jpg' width='60' name='lokalfoto1'
onload=''setTimeout('document.images.lokalfoto1.sr c
^^
=\'/lokale/33_bild_1.jpg?\' + new Date().getTime();
document.images.lokalfoto1.onload = null;', 1000);'' /
^^

Falls das ein " darstellen sollte... es ist keins.
Du solltest einen Editor mit Syntaxhighlighting verwenden, dann fällt
sowas
gleich auf.


Vielen Dank für den Hinweis.
Wollte dies ganz ellegant mit PHP realisieren und in eine Variable
schreiben. Dies funktioniert aber anscheinend nicht.
lg
Hubert




Reply With Quote
  #4  
Old   
Wolfgang Fellger
 
Posts: n/a

Default Re: Bild auf einer Webseite 1x aktualisieren - 07-25-2007 , 03:18 PM



Hubert Holler schrieb:

Quote:
Wollte dies ganz ellegant mit PHP realisieren und in eine Variable
schreiben. Dies funktioniert aber anscheinend nicht.
Meine Glaskugel ist kaputt, und es wird nicht besser, wenn du jetzt noch mit
PHP anrückst.
Mehr Informationen bitte.

--
Wolfgang Fellger


Reply With Quote
  #5  
Old   
Ferry Bolhar
 
Posts: n/a

Default Re: Bild auf einer Webseite 1x aktualisieren - 07-26-2007 , 02:36 AM



Huber Holler:

Quote:
Ich möchte ein Bild auf einer Webseite beim Aufruf 1x aktualisieren und
habe
dazu folgendes versucht:

input type="file" id="lokalfoto1" name="lokalfoto1" /
img src='/lokale/33_bild_1.jpg' width='60' name='lokalfoto1'
onload=''setTimeout('document.images.lokalfoto1.sr c
=\'/lokale/33_bild_1.jpg?\' + new Date().getTime();
document.images.lokalfoto1.onload = null;', 1000);'' /><p></p
Da fallen mir etliche Dinge auf:

1) Du benennst den <input> und den <img> Tag mit demselben
Namen ("lokalfoto1"). Das ist nicht erlaubt.

2) Mein HTML-Validator meckert über "Unbalances Quotes".
Wie ist der "onload" JS-Code gequoted? So, wie es aussieht,
sind das zwei einfache, statt einem doppelten Anführungszeichen.
Oder ist das nur beim Cut+Paste passiert?

3) Auch wenn es nicht vorgeschrieben ist, würde ich dir empfehlen,
den onload-Code in einer separaten Funktion unterzubringen. Das
macht das Quoting einfacher. Und in "on...." Handlern kann man
den jeweiligen Tag bzw. das ihn repräsentierende Objekt mit
seinen Eigenschaften kürzer mit "this" (also hier "this.src") anprechen.

4) Die Eigenschaft .src eines image-Objektes erwartet einen
String, der den Namen mit dem Imagedatei repräsentiert. Was
bezweckst du mit einer Angabe:

33_bild_1.jpg?2456543239967

Denn einen solchen String weist du dem .src Attribut zu (wobei
der Wert nach dem "?" von newDate().getTime() zurückgegeben
wird und immer ein anderer ist). Du müsstest dann theoretisch
unendlich viele Images mit solchen Namen haben.

Oder steckt hinter 33_bild_1.jpg gar kein Bild, sondern irgendein
Skript und die Zeitangabe ist als Parameter gedacht? Dann ist die
Dateiendung schlecht gewählt; pass auf, dass dir da dein Web-
server nicht dazwischenkommt. Die meisten Webserver inter-
petieren die Endung .jpg nicht als ausführbares Skript.

5) Das null-Setzen der onload-Eigenschaft ist überflüssig.
Warum machst du das?

Quote:
Leider funktioniert dies nicht. Die Aktualisierung wird nicht
durchgeführt.

Das wundert mich nicht... ;-)

LG, Ferry

--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: bol (AT) adv (DOT) magwien.gv.at




Reply With Quote
  #6  
Old   
Steffen Laubner
 
Posts: n/a

Default Re: Bild auf einer Webseite 1x aktualisieren - 07-26-2007 , 11:42 AM



Ferry Bolhar schrieb:

Quote:
1) Du benennst den <input> und den <img> Tag mit demselben
Namen ("lokalfoto1"). Das ist nicht erlaubt.
Wieso das?
document.forms[x].elements['lokalfoto1']....
document.images['lokalfoto']....

Im uebrigen ist die Vergabe von gleichen Namen bei Radio- oder
Checkboxelementen eigentlich normal.

Quote:
4) Die Eigenschaft .src eines image-Objektes erwartet einen
String, der den Namen mit dem Imagedatei repräsentiert. Was
bezweckst du mit einer Angabe:
33_bild_1.jpg?2456543239967
Damit versucht er den Browser zu foppen und den lokalen Cache zu
umgehen, da sich die URL so immer aendert.


Reply With Quote
  #7  
Old   
Ferry Bolhar
 
Posts: n/a

Default Re: Bild auf einer Webseite 1x aktualisieren - 07-26-2007 , 01:01 PM



Steffen Laubner:

Quote:
1) Du benennst den <input> und den <img> Tag mit demselben
Namen ("lokalfoto1"). Das ist nicht erlaubt.

Wieso das?
document.forms[x].elements['lokalfoto1']....
document.images['lokalfoto']....
Möglicherweise ist die Einschränkung nicht in Javascript
begründet, sondern in HTML, speziell bei der server-
seitigen Formularverarbeitung. Mein HTML-Validator
schreit jedenfalls auf, wenn ich - außer bei Radio- und
Checkbuttons - denselben Namen mehrfach verwende.

Quote:
Im uebrigen ist die Vergabe von gleichen Namen bei Radio- oder
Checkboxelementen eigentlich normal.
Ja, aber nur da, weil der Browser ja sonst nicht weiß,
welche Elemente eine Gruppen bilden. Ansonsten ist
es - na, sagen wir's mal vorsichtig - keine übliche
Praxis.

Quote:
4) Die Eigenschaft .src eines image-Objektes erwartet einen
String, der den Namen mit dem Imagedatei repräsentiert. Was
bezweckst du mit einer Angabe:
33_bild_1.jpg?2456543239967

Damit versucht er den Browser zu foppen und den lokalen Cache zu
umgehen, da sich die URL so immer aendert.
Ließe sich das nicht durch Senden eines HTTP-Headers
eleganter erreichen? Und was macht der Webserver mit
einer solchen URL?

Der Ansatz scheint mir nicht sehr sauber zu sein.

LG, Ferry

--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: bol (AT) adv (DOT) magwien.gv.at




Reply With Quote
  #8  
Old   
Alexander Clauss
 
Posts: n/a

Default Re: Bild auf einer Webseite 1x aktualisieren - 07-26-2007 , 01:56 PM



Steffen Laubner <steffen.laubner (AT) gmx (DOT) de> wrote:

Quote:
Wieso das?
Weil Namen eindeutig sein sollten. Eine Ausnahme gibt es nur bei
Radio-Buttons, wo zusammengehörende Radiobuttons den selben Namen haben
müssen.

Quote:
Im uebrigen ist die Vergabe von gleichen Namen bei Radio- oder
Checkboxelementen eigentlich normal.
Bei Radio durchaus (natürlich nur wenn die Buttons zur selben Gruppe
gehören), bei Checkboxen aber definitv nicht.

--
Alexander


Reply With Quote
  #9  
Old   
Steffen Laubner
 
Posts: n/a

Default Re: Bild auf einer Webseite 1x aktualisieren - 07-26-2007 , 03:13 PM



Ferry Bolhar schrieb:

Quote:
Steffen Laubner:
1) Du benennst den <input> und den <img> Tag mit demselben
Namen ("lokalfoto1"). Das ist nicht erlaubt.
Wieso das?
document.forms[x].elements['lokalfoto1']....
Möglicherweise ist die Einschränkung nicht in Javascript
begründet, sondern in HTML, speziell bei der server-
seitigen Formularverarbeitung. Mein HTML-Validator
schreit jedenfalls auf, wenn ich - außer bei Radio- und
Checkbuttons - denselben Namen mehrfach verwende.
Doppelte Namen innerhalb des Dokuments aber ausserhalb des Forumlars
sind der "serverseitigen Formularverarbeitung" schnuppe. Bei doppelten
Namen innerhalb eines Formulars wird ein Array gebildet. Ob das nun
Radios oder Inputs sind ist egal.

Quote:
Im uebrigen ist die Vergabe von gleichen Namen bei Radio- oder
Checkboxelementen eigentlich normal.
Ja, aber nur da, weil der Browser ja sonst nicht weiß,
welche Elemente eine Gruppen bilden. Ansonsten ist
es - na, sagen wir's mal vorsichtig - keine übliche
Praxis.
Das ist richtig.

Quote:
4) Die Eigenschaft .src eines image-Objektes erwartet einen
String, der den Namen mit dem Imagedatei repräsentiert. Was
bezweckst du mit einer Angabe:
33_bild_1.jpg?2456543239967
Damit versucht er den Browser zu foppen und den lokalen Cache zu
umgehen, da sich die URL so immer aendert.
Ließe sich das nicht durch Senden eines HTTP-Headers
eleganter erreichen? Und was macht der Webserver mit
einer solchen URL?
Wer seinen Server nicht beherrscht muss mit Tricks arbeiten.

Quote:
Der Ansatz scheint mir nicht sehr sauber zu sein.
[X] Ich stimme zu.


Reply With Quote
  #10  
Old   
Steffen Laubner
 
Posts: n/a

Default Re: Bild auf einer Webseite 1x aktualisieren - 07-26-2007 , 03:18 PM



Alexander Clauss schrieb:

Ich zitiere noch mal aus einer Nachricht davor:

Quote:
Ferry Bolhar schrieb:
1) Du benennst den <input> und den <img> Tag mit demselben
Namen ("lokalfoto1"). Das ist nicht erlaubt.
Steffen Laubner <steffen.laubner (AT) gmx (DOT) de> wrote:
Wieso das?
Weil Namen eindeutig sein sollten.
Dieser Formulierung kann ich zustimmen. Aber verboten ist es nicht.

Quote:
Im uebrigen ist die Vergabe von gleichen Namen bei Radio- oder
Checkboxelementen eigentlich normal.
Bei Radio durchaus (natürlich nur wenn die Buttons zur selben Gruppe
gehören), bei Checkboxen aber definitv nicht.
Hä? Ich zitiere mal
http://de.selfhtml.org/html/formular...htm#checkboxen
Quote:
input type="checkbox" name="zutat" value="salami"> Salami<br
input type="checkbox" name="zutat" value="pilze"> Pilze<br
input type="checkbox" name="zutat" value="sardellen"> Sardellen

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.