SBL: lokale Bildvorschau im POPUP geht mit Netscape nicht !

Hallo,

ich möchte auf meiner Seite ein Bild-Upload einbauen. Der User kann auf den Durchsuchen-Button klicken wählt eine Bilddatei aus. Klickt der User auf VORSCHAU, möchte ich, dass die (noch) lokale Bilddatei dem User in einem neuen Fenster angezeigt wird. Nach dem Upload ist das mit dem Bild kein Problem mehr.

der folgendene JS-Source funzt mit dem IE:

var tmp;
var ws="width=500,height=400,screenX=0,screenY=0,resizable=yes,scrollbars=yes,locationbar=no,menubar=no,status=no,hotkeys=no";
tmp=document.formname.openpicfile.value;
testpic = open(tmp,"testpic",ws);

mit Netscape geht das so nicht. Deshalb habe ich den JS-Script verändert. Der folgende JS-Source für Netscape geht nicht:

alert('message 1');
var xx;
xx=window.open("file:///C|/test.jpg");
alert('message 2');

ich habe schon alles probiert und mir gehen so langsam die Ideen aus.

xx=window.open(„“); ..............geht
xx=window.open("file:///C:/test.jpg");   .............geht nicht
xx=window.open("file:///C%7C/test.jpg"); .........geht nicht
xx=window.open("file|///C|/test.jpg"); ...............geht nicht
xx=window.open("file:C|/test.jpg"); .................geht nicht
xx=window.open("file:///C|/test.jpg",“xx“,ws); ... geht nicht

Laut Netscape-Dev geht das , bei mir aber nicht. Wenn man ...open(„“) angibt, dann läuft der Script richtig. Steht es so wie im Beispiel erwähnt, mit „file...“, dann erscheint kein POPUP und keine Message 2.
Können Sie mir einen Tipp geben, wie es dann mit den Netscape-Teilen auch geht bzw. was ich falsch mache, denn ich stehe kurz davor mit meinem Gesicht auf die Tastatur zu klatschen und in Tiefe Besinnungslosigkeit zu fallen.

Gruß
Sascha

  1. hi.

    und was machst du, wenn der user kein windows benutzt?

    /.\^/

    1. hi.

      und was machst du, wenn der user kein windows benutzt?

      /.\^/

      Ja, deshalb muss es auch unter Netscape funzen, da der z.B. unter Linux auch zu haben ist. Ich habe ja nur mit C|/test.jpg ein Beispiel genannt. Für eine Komplettlösung wäre ich natürlich auch dankbar :-)

  2. Hi,

    [...] funzt mit dem IE:
    [...] geht das so nicht. [...] geht nicht:
    [...] geht
    [...] geht nicht
    [...] geht nicht
    [...] geht nicht
    [...] geht nicht
    [...] geht nicht

    [...] geht das , bei mir aber nicht. [...] läuft der Script richtig. [...]
    [...] wie es [...] auch geht [...]

    bei all dem vielen "geht nicht" hast Du dummerweise die Fehlerbeschreibung vergessen. Die besteht _mindestens_ aus der Fehlermeldung und aus Deiner Analyse, sonst kann Dir nicht geholfen werden.

    Nebenbei: "„“" geht nicht.

    Cheatah

    1. sorry, »» Nebenbei: "„“" geht nicht. soltte "" bedeuten war beim posten mein Fehler ist im Source aber richtig.

      ES GIBT KEINE FEHLER MELDUNG BEI NETSCAPE 6.22 JS 1.3.1 !!!!!!!

      Das ist mein Prob.

      alert('Message 1');  <-- erscheint, wird also ausgeführt !
      xx=open.window('file:....   <-- wird nicht ausgeführt
      alert('Message 2');  <--  wird nicht ausgeführt

      Und nü ???

      Haste net6.x or 4.7x dann probier mal.

      Mir hängt Netscape schon bald zum Hals raus.
      IE und Opera machen fast keine Schwierigkeiten !!!

      Hi,

      [...] funzt mit dem IE:
      [...] geht das so nicht. [...] geht nicht:
      [...] geht
      [...] geht nicht
      [...] geht nicht
      [...] geht nicht
      [...] geht nicht
      [...] geht nicht

      [...] geht das , bei mir aber nicht. [...] läuft der Script richtig. [...]
      [...] wie es [...] auch geht [...]

      bei all dem vielen "geht nicht" hast Du dummerweise die Fehlerbeschreibung vergessen. Die besteht _mindestens_ aus der Fehlermeldung und aus Deiner Analyse, sonst kann Dir nicht geholfen werden.

      Nebenbei: "„“" geht nicht.

      Cheatah

      1. Moin!

        ES GIBT KEINE FEHLER MELDUNG BEI NETSCAPE 6.22 JS 1.3.1 !!!!!!!

        Das ist mein Prob.

        alert('Message 1');  <-- erscheint, wird also ausgeführt !
        xx=open.window('file:....   <-- wird nicht ausgeführt
        alert('Message 2');  <--  wird nicht ausgeführt

        Und nü ???

        ...gibst du "javascript:" in die URL-Zeile ein, öffnest damit die Javascript-Konsole, und kopierst den dort enthaltenen Fehler hier ins Forum.

        Wenn Javascript nicht mehr weiterläuft, gibt es _immer_ eine Fehlermeldung. In keinem anderen Browser als dem Netscape ist sie so schön ausführlich und debuggingfreundlich implementiert.

        - Sven Rautenberg

        1. Hi Sven,

          Ich habe eine neue Erkenntnis !!!!!

          im Web geht es nicht
             http://www.klapperkiste.de/test.htm

          aber wenn ich die test.htm lokal laufen lasse gehts.

          Also hier nochmal der vollständige Code:

          <html>
          <head>
          <title>???</title>

          <script language="JavaScript">
            <!--

          var nnm=navigator.appName;

          function preview()
               {
                var tmp;
                var ws="width=500,height=400,screenX=0,screenY=0,resizable=yes,scrollbars=yes,locationbar=no,menubar=no,status=no,hotkeys=no";

          if(nnm == "Netscape")
              {
              //---- net  -------------------------
              //---- DAS NICHT !!!!!! -------------
              tmp=document.test.bild.value;
                 var tmp2="";
                 tmp2=tmp.replace(/\/g,"/");
                 netpath="file:///" + tmp2.replace(/:/,"|");
              alert('Das ist der Pfad inkl. des Dateinamens nach aufbereitung: \n\n' + netpath);
                   testpic= window.open(netpath,"testpic",ws);
              alert('Und ?');
            }
                else
            {
            //---- for IE opera... ----------------
            //---- DAS FUNKTIONIERT --------------
                   tmp=document.test.bild.value;
                   if(tmp.length>4) {
                    testpic = open(tmp,"testpic",ws);
                      document.test.bild.value="";
                      }
            //-------------------------------------
            }

          }

          //-->
          </script>

          </head>
          <body>
          <p> </p>
          <form name="test">
                    <input type=file name="bild" style="height:22px;" accept="image/*">
                    <input type=button name="prev" onClick="preview();" value="Vorschau" style="height:22px;">
          </form>
          </body>
          </html>

        2. Habe eben noch vergessen?

          http://www.klapperkiste.de/test.htm

          läuft unter Netscape 4.7x und 6.x online nicht !!!!
          Der selbe Source funzt aber wenn bei beiden browsern die test.htm über Datei öffen aufgerufen wurde.

          Ist das ein BUG ?
          Bin ich der einzige mit solchen Probs ?

          1. Moin!

            http://www.klapperkiste.de/test.htm

            läuft unter Netscape 4.7x und 6.x online nicht !!!!
            Der selbe Source funzt aber wenn bei beiden browsern die test.htm über Datei öffen aufgerufen wurde.

            Ich will dich ja nicht verwirren, aber deine Online-Seite funktioniert bei mir auch im Opera NICHT. Ich kriege einen Fehler 404 gemeldet.

            Trotzdem hast du immer noch nicht die Fehlermeldung des Browsers angegeben - ohne die kann man nicht helfen!

            Ist das ein BUG ?

            Möglich, oder ein Sicherheitsfeature - kann auch sein.

            Bin ich der einzige mit solchen Probs ?

            Ja, vermutlich deshalb, weil sonst noch niemand auf die Idee gekommen ist, eine Vorschau über das File-Protokoll zu realisieren. Insbesondere wenn du fest davon ausgehst, daß Dateinamen einen Doppelpunkt und einen Laufwerksbuchstaben enthalten, ist irgendwas in deiner Annahme falsch.

            Dein Versuch wird übrigend dann scheitern, wenn (wie hier schon berichtet wurde) die Browser nicht mehr den vollen Pfadnamen zum Bild in das File-Feld schreiben, sondern nur noch den Dateinamen. Deshalb: Laß es lieber, es birgt zuviele Probleme. Besser wäre, das Bild hochzuladen und vor der endgültigen Speicherung nochmal anzuzeigen - dann mit URL vom Server aus.

            - Sven Rautenberg

            1. vielleicht solltest du mal lesen !!!!

              hallo, nochmal :

              Versuch 1 mit Netscape 4.7x:

              a.) http://www.klapperkiste.de/test.htm
              b.) test.htm auf die Platte kopieren und dann mit Datei öffen starten

              Ergebnis:

              a.) Javascript error: Type 'javascript' into Location for details
              b.) Keine Fehlermeldung, ES FUNKTIONIERT !!!!!!!!

              Versuch 2 mit Netscape 6.2x:

              a.) http://www.klapperkiste.de/test.htm
              b.) test.htm auf die Platte kopieren und dann mit Datei öffen starten

              Ergebnis:

              a.) geht nicht und KEINE FEHLERMELDUNG
              b.) Keine Fehlermeldung, ES FUNKTIONIERT !!!!!!!!

              Opera ist jetzt erst mal egal.
              Ich will nur wissen wieso bei online keine Funktion und offline (lokal) alles funktioniert.

              LÖSUNG !!!!

              Moin!

              http://www.klapperkiste.de/test.htm

              läuft unter Netscape 4.7x und 6.x online nicht !!!!
              Der selbe Source funzt aber wenn bei beiden browsern die test.htm über Datei öffen aufgerufen wurde.

              Ich will dich ja nicht verwirren, aber deine Online-Seite funktioniert bei mir auch im Opera NICHT. Ich kriege einen Fehler 404 gemeldet.

              Trotzdem hast du immer noch nicht die Fehlermeldung des Browsers angegeben - ohne die kann man nicht helfen!

              Ist das ein BUG ?

              Möglich, oder ein Sicherheitsfeature - kann auch sein.

              Bin ich der einzige mit solchen Probs ?

              Ja, vermutlich deshalb, weil sonst noch niemand auf die Idee gekommen ist, eine Vorschau über das File-Protokoll zu realisieren. Insbesondere wenn du fest davon ausgehst, daß Dateinamen einen Doppelpunkt und einen Laufwerksbuchstaben enthalten, ist irgendwas in deiner Annahme falsch.

              Dein Versuch wird übrigend dann scheitern, wenn (wie hier schon berichtet wurde) die Browser nicht mehr den vollen Pfadnamen zum Bild in das File-Feld schreiben, sondern nur noch den Dateinamen. Deshalb: Laß es lieber, es birgt zuviele Probleme. Besser wäre, das Bild hochzuladen und vor der endgültigen Speicherung nochmal anzuzeigen - dann mit URL vom Server aus.

              • Sven Rautenberg
              1. Hi,

                vielleicht solltest du mal lesen !!!!

                geht es vielleicht _noch_ unfreundlicher?

                a.) Javascript error: Type 'javascript' into Location for details

                Äh, ja - und? Hast Du das gemacht?

                LÖSUNG !!!!

                Wie meinen? Die Leibeigenschaft ist in diesem Forum
                vor ein paar Jahren abgeschafft worden ...

                ... viel Überflüssiges zitiert

                </faq/#Q-09a>

                Viele Grüße
                <img src="http://www.schroepl.net/projekte/gzip_cnc/gzip_cnc.gif" border=0 alt=""> Michael

  3. xx=window.open("file|///C|/test.jpg"); ...............geht nicht

    bei
      open ("file:...");
    gibt es immer die Fehlermeldung "JavaScript Error: illegal URL method 'file:'". D.h. es könnte eine Einschränkung (bug) vom NS4.7 sein. Beim 6.2 geht der gleiche Aufruf ohne Probleme.

    Sieht so aus als ob du pech hast.
    Getestet am NS4.75de unter W2K

    By
    Reinhard

    1. xx=window.open("file|///C|/test.jpg"); ...............geht nicht

      bei
        open ("file:...");
      gibt es immer die Fehlermeldung "JavaScript Error: illegal URL method 'file:'". D.h. es könnte eine Einschränkung (bug) vom NS4.7 sein. Beim 6.2 geht der gleiche Aufruf ohne Probleme.

      Sieht so aus als ob du pech hast.
      Getestet am NS4.75de unter W2K

      By
      Reinhard

      Danke für den hinweis aber vielleicht hast Du einen Rat zum 6.x

      http://www.klapperkiste.de/test.htm

      online gehts nicht, aber wenn du das lokal laufen läst (nicht im IIs sondern Datei öffnen) macht er es?!?

      1. Danke für den hinweis aber vielleicht hast Du einen Rat zum 6.x
        http://www.klapperkiste.de/test.htm
        online gehts nicht, aber wenn du das lokal laufen läst (nicht im IIs sondern Datei öffnen) macht er es?!?

        Ja, keine Probleme

        1. Danke für den hinweis aber vielleicht hast Du einen Rat zum 6.x
          http://www.klapperkiste.de/test.htm
          online gehts nicht, aber wenn du das lokal laufen läst (nicht im IIs sondern Datei öffnen) macht er es?!?

          Ja, keine Probleme

          hmmm, irgendwie bin ich falschen forum oder spreche eine andere sprache. vielleicht bin ich aber auch einfach nur zu blöd.
          also online kann es nicht gehen net 4.7x und 6.22 streiken.

          1. Danke für den hinweis aber vielleicht hast Du einen Rat zum 6.x
            http://www.klapperkiste.de/test.htm
            online gehts nicht, aber wenn du das lokal laufen läst (nicht im IIs sondern Datei öffnen) macht er es?!?
            Ja, keine Probleme
            hmmm, irgendwie bin ich falschen forum oder spreche eine andere sprache. vielleicht bin ich aber auch einfach nur zu blöd.
            also online kann es nicht gehen net 4.7x und 6.22 streiken.

            Online geht es nicht. Hast du ja auch gesagt. In dem Fall kommt die Fehlermeldung
            "The link to file:///P|/fuer_reinhard/Download/bilder/blume.gif was blocked by the security manager. Remote content may not link to local content."
            und danach kommt
            "Fehler: illegal URL method 'file:///P|/fuer_reinhard/Download/bilder/blume.gif' Quelldatei: http://www.klapperkiste.de/test.htm Zeile: 24"
            (jeweils NS6.2)

            Wenn ich die Seite lokal abspeichere und ein lokales Bild auswähle gehts mit beiden NS Browsern, und es gibt auch keine Fehlermeldung.

            By
            Reinhard

            P.S. es ist doch der NS7 den ich hier habe, nicht der NS6.2

            1. Ich wollte das es auch online geht !!!!

              Wieso mengt sich da ein SecuManager rein ?

              Der Client ruft mit seinen rechten die Datei zum Versand auf und der Browser kann diese Datein nicht öffnen ? Ist absolute unlogisch. Der Client hat doch die Rechte.

              Ich habe auf jedenfall von Netscape die Nase voll. Meiner Meinung nach sollten die sich mal andere Projektleiter suchen. Irgendwie kann es schlecht sein das der WebDev für jede Net-Version eine neue Seiten bauen muss, weil sich in der Kompatibilität etwas geändert hat. Nachdem net6.x heraus kam, dachte ich es wird besser. Aber nein die sind immer noch nicht auf IE tripp und sind sogar von Ihrem eigenen Kurs abgekommen.

              Wenn hier keiner eine Lösung für mich hat, warte ich noch auf Net-Dev und wenn die auch nix wissen, dann wird Netscape von meiner Seite entfernt. Ich schlage mich schon Jahre mit dem Dreck rum. Netscape hat nur Probleme und meine Nerven machen das auch so langsam nicht mehr mit.

              Online geht es nicht. Hast du ja auch gesagt. In dem Fall kommt die Fehlermeldung
              "The link to file:///P|/fuer_reinhard/Download/bilder/blume.gif was blocked by the security manager. Remote content may not link to local content."
              und danach kommt
              "Fehler: illegal URL method 'file:///P|/fuer_reinhard/Download/bilder/blume.gif' Quelldatei: http://www.klapperkiste.de/test.htm Zeile: 24"
              (jeweils NS6.2)

              Wenn ich die Seite lokal abspeichere und ein lokales Bild auswähle gehts mit beiden NS Browsern, und es gibt auch keine Fehlermeldung.

              By
              Reinhard

              P.S. es ist doch der NS7 den ich hier habe, nicht der NS6.2

              1. Moin, immer noch!

                Ich wollte das es auch online geht !!!!

                Wieso mengt sich da ein SecuManager rein ?

                Steht da: Es ist verboten, lokalen Content zu verlinken.

                Wenn dir das nicht paßt - Pech. Fehlt halt die Vorschauversion. Realisiere das anders (ich erwähnte es schon): Bild hochladen lassen, auf dem Server verlinken und nochmal bestätigen lassen, daß es OK ist. Schon klappts mit allen Browsern und allen Betriebssystemen.

                Den IE darfst du bitte nicht als Maßstab nehmen. Der hat viele gefährliche Sicherheitslücken, die Zugriff erlauben, wo er niemals erlaubt sein dürfte. Das Einbinden eines lokalen Bildes fällt zwar nicht unbedingt unter die Kategorie "gefährlich", aber denke daran, daß es generell möglich wäre, _alles_ einzubinden, was gespeichert ist und von dem man den Dateipfad kennt.

                Ich habe auf jedenfall von Netscape die Nase voll. Meiner Meinung nach sollten die sich mal andere Projektleiter suchen. Irgendwie kann es schlecht sein das der WebDev für jede Net-Version eine neue Seiten bauen muss, weil sich in der Kompatibilität etwas geändert hat. Nachdem net6.x heraus kam, dachte ich es wird besser. Aber nein die sind immer noch nicht auf IE tripp und sind sogar von Ihrem eigenen Kurs abgekommen.

                "Die" sind auf Standards-Tripp, genau wie der IE auch. Da wird dich dann wohl noch so einiges Leid mit dem IE erwarten, würde ich mal vermuten...

                Wenn hier keiner eine Lösung für mich hat, warte ich noch auf Net-Dev und wenn die auch nix wissen, dann wird Netscape von meiner Seite entfernt. Ich schlage mich schon Jahre mit dem Dreck rum. Netscape hat nur Probleme und meine Nerven machen das auch so langsam nicht mehr mit.

                Da du dich mit dem Security-Manager angelegt hast, wird die Antwort dort sicherlich ebenfalls negativ ausfallen, allenfalls noch enthalten, warum das böse ist, was du machen willst.

                - Sven Rautenberg

  4. Ich will ja keinem aufs Füsschen treten, besonders keinem studierten
    oder so, aber da kann man mal wieder sehen das der Schulabschluss
    ________________________________________________________________

    K E I N E     R O L L E      S P I E L T
    ________________________________________________________________

    Ich habe die Lösung jetzt selbst gefunden. Mit viel weniger Source-Zeilen als erwartet. Getestet mit
      IE 5.5
      Opera 5.12
      Opera 6
      Netscape 4.7
      Netscape 6.22

    alles funzt, hervorgehzüglich !

    Ein 4 Zeiler und ein 6 Zeiler, fertig !!!!!!

    1. Moin!

      Ich will ja keinem aufs Füsschen treten, besonders keinem studierten
      oder so, aber da kann man mal wieder sehen das der Schulabschluss
      ________________________________________________________________

      K E I N E     R O L L E      S P I E L T
      ________________________________________________________________

      Hat das jemand behauptet? Dumm von dir, daß du deine Lösung hier nicht der Allgemeinheit zur Verfügung stellst, denn genau davon würde das Forum leben. Noch dazu, wo es nur 10 Zeilen insgesamt sind - die hätten anstatt deiner Schulabschlußrede hier locker reingepaßt - sogar gleichzeitig!

      - Sven Rautenberg

      1. Hat das jemand behauptet? Dumm von dir, daß du deine Lösung hier nicht der Allgemeinheit zur Verfügung stellst, denn genau davon würde das Forum leben. Noch dazu, wo es nur 10 Zeilen insgesamt sind - die hätten anstatt deiner Schulabschlußrede hier locker reingepaßt - sogar gleichzeitig!

        • Sven Rautenberg

        Ja klar bei so viel Müll der geblubbert wurde und das auch noch ohne Lösungsvorschlag muss auch Kritik kommen ist doch klar, oder ? Aber vielleicht, lieber Sven, nimmst all Deine Geisteskraft zusammen und versuchst meine Hintergedanken zu erörtern. Dann wäre Dein Statement bestimmt auch anders ausgefallen z.B.: "die Lösung würde mich mal interessieren....".
        4 und 6 Zeiler Geschichte bezieht sich ausschl. auf den JS-Source.

        Bis dahin die LÖSUNG:

        Formular.htm(Bitte nicht den Rest der HTML-Tags vergessen!):
        ____________________________________________________________________

        function preview()
             {
              var tmp=document.test.bild.value;
              var tmp2=tmp.replace(/\/g,"/");
              document.test.tmpbild.value="file:///" + tmp2.replace(/:/,"|");
              window.open("openprev.htm","xx");
             }

        <form name="test">
          <input type="hidden" name="tmpbild" value="">
          <input type="file" name="bild" value="">
        </form>
        ____________________________________________________________________

        openprev.htm HTML-Seite:
        ____________________________________________________________________

        <html>
        <body>
        <script language="JavaScript">
          <!--

        var tmpx=top.opener.document.test.tmpbild.value;
          var ttp=tmpx.replace(/"/,"");
          tmpx=ttp.replace(/"/,"");

        window.document.open();
          window.document.writeln("<center><img src='" + tmpx + "' border='0'><br>");
          window.document.close();

        //-->
        </script>
        </body>
        </html>

        ____________________________________________________________________