Bilder anzeigen in Firefox

  • Hallo!
    Fraaaaage:

    Weshalb geht folgendes nur im IE und im Firefox nicht?

    Head:

    Code
    <script type="text/javascript">
    function zeige(s)
    {
        document.getElementById("vorschau").innerHTML = "[img]" + s + "[/img]";
    }
    </script>

    und später im Body...

    Code
    <input id="file" name="file" type="file" onChange="zeige(this.value)">

    der id "vorschau" existiert auch:

    Code
    <td id="vorschau">...</td>

    Ich möchte eigentlich, dass auf diese weise ein Bild angezeigt wird, das man von der Festplatte auswählt.

    Was für Alternativen gibt es, um den selben Effekt auch im Firefox zu erhalten? *verzweifel*

    Vielen Dank!

  • vielen dank für die hilfe!
    ich glaube allerdings nicht, dass es daran liegt..
    ich kann den dateinamen mit

    Code
    document.getElementById("vorschau").innerHTML = s;

    ausgeben. sobald ich aber noch einen img-tag dazu ausgebe, zeigt es nichts mehr an...

    .innerHTML = s; -> ok
    .innerHTML = "hallo " + s; -> ok
    .innerHTML = ""; nichts geht..

    trotzdem vielen dank

  • funktioniert leider auch nicht..
    habe dasselbe auch mit

    Code
    function zeige(s)
    {
      bild = new Image();
      bild.src = s;
      document.images["pic"].src = bild.src;
      //document.pic.src...
      //document.images[0].src...
      //window.document....
    }
    Code
    onchange(...) ...
    
    
    [img]irgendwas.jpg[/img]


    probiert, aber es funktioniert genau so wenig..
    übrigens, opera verhaltet sich gleich wie firefox. es funktioniert nur mit dem IE (warum ausgerechnet mit dem IE? :evil: ) und zwar in allen variationen..

    naja, sonst lass ich's eben mit der vorschau... :(

  • Zitat von baloo

    probiert, aber es funktioniert genau so wenig..
    übrigens, opera verhaltet sich gleich wie firefox. es funktioniert nur mit dem IE (warum ausgerechnet mit dem IE? :evil: ) und zwar in allen variationen..

    Moin!

    Ich habe gerade einml bei SelfHTML nachgeschaut: "innerHTML" ist so ein Eigending zu "all" aus der Microsoft-Küche

      Das all-Objekt gehört nicht zum offiziellen JavaScript-Sprachstandard. Es wurde von Microsoft für den MS Internet Explorer 4.0 implementiert. Das all-Objekt funktioniert zwar auch prima innerhalb von Scriptbereichen, die mit "JavaScript" ausgezeichnet sind, doch es ist bislang eigentlich nur Bestandteil von JScript, dem Microsoft-Derivat von JavaScript.

      Mit den neuen Browser-Generationen und dem Document Object Model (DOM) wird das all-Objekt durch die neuen HTML-Elementobjekte und das node-Objekt verdrängt. Es hat also keine Zukunft mehr und sollte allenfalls noch aus Gründen der Rückwärtskompatibilität eingesetzt werden.

    Von daher ist logisch daß Mozilla nichst damit anfangen kann.
    Ich habe auch noch nicht ganz verstanden, was du eigentlich machen willst - sicherlich gibt es eine Lösung für dein Problem.

    G.a.d.M.

    Ronald

  • Also, zur Verständlichung:

    http://www.fresh-jo.ch/forum/test.htm

    Bei der Auswahl eines Bildes soll eine Vorschau auf der Webseite angezeigt werden. Die Grösse des Bilder ist egal, es muss einfach angezeigt werden - habe jetzt mal 100x100 genommen.

    Keine Ahnung, im IE funktionieren beide Varianten, bei Firefox/Opera keine.

    Was würde es dann noch für andere Möglichkeiten geben, um das Bild anzuzeigen? (ohne es zuerst hochzuladen)
    Es ist egal wie, es sollte einfach funktionieren...

  • Ich werde immer noch nicht schlau daraus, was du eigentlich vor hast.

    Du willst den Usern also zeigen, welche Grafik sie auf ihrem PC haben.
    Ich vermute mal, es soll eine Vorschau sein, damit sie dann wissen, was sie hochladen wollen?

    Du mußt dann für die Grafik den vollen Verzeichnisnahmen haben, also z.B. "file:///c:/internet/bilder/bild21.gif".
    Mozilla refresht nach der Eingabe des Files nicht selbständig, ich habe das im folgenden Beispiel mit einem Interval gelöst, auf jeden Fall funktioniert es damit mit Mozilla und dem IE. Nur Opera spielt - warum auch immer- nicht mehr mit, das Problem habe ich nicht weiter verfolgt, da ich die ganzen Opera-Bugs nicht auffangen kann und Opera-User halt selbst schuld haben.

    So geht es:


    G.a.d.M.

    Ronald

  • Ouuu, du bist der Held. Vielen Dank!


    Zur Erklärung..
    Ja, es soll eine Vorschau sein, was der User hochlädt.
    Am Schluss gibt es ein "CMS" für eine Bildergallerie. Damit man im Datei-öffnen Dialog nicht immer auf die Miniaturansicht schalten muss, um ein Bild auzuwählen (wie will man bei DSC2018.jpg schon wissen, um welches Bild es sich handelt?) wird es auf der Webseite angezeigt.

    Bräuchte es alles nicht, ich weiss.. aber der User soll noch einen Titel zum Bild eingeben. Wenn er jetzt alle 20 Bilder eines Ordners hochladen will, müsste er bei jedem neuen Bild auf die Minitauransicht schalten, um zu sehen, um welches Bild es sich genau handelt. Damit er auch einen passenden Titel eingeben kann.

    Diese "Arbeit" wird ihm jetzt erspart.

    Klar, über den Sinn lässt sich streiten. Ich allerdings finde die Funktion hilfreich =)


    Nochmals vielen Dank für eure Bemühungen!
    Grüsse