MichelM: Dynamisch erzeugtes Dokument inkl. Script mit NS lokal speichern

Beitrag lesen

Hallo,

grundsätzlich gibt es bei JavaScript eine Sicherheitsbeschränkung mit UniversalBrowserRead und UniversalBrowserWrite bei den Netscape-Browsern  bis 5.0 (beim NS6 glaube ich auch, bin mir aber nicht sicher.)
Eben aus Sicherheitsgründen ist das Speichern von Dokumenten untersagt.
Deswegen haben auch Outlook und IE-User immer diese Virenanfälligkeit und vor allem können sich Hacker solche Scripte zunutze machen.
Zum Zwischenspeichern sind daher nur Cookies vorgesehen.
Beim Netscape4 gibt es zwar die Möglichkeit des JavaStreamings, davon ist aber abzuraten.
Desweiteren erweist sich execCommand als sehr gefährlich, weil AusnahmeSchutzverletzungen hier häufig auftreten.

Es ist auch der Beschreibung auch nicht ersichtlich, warum nicht im Cookie gespeichert wird.
Beim NS6 kann man den Quellcode nicht lesen, wenn er mit document.write geschrieben oder dynamisch verändert wurde z.B. mit innerHTML. Es muss in jedem Fall das komplette HTML-File geschrieben werden. Beispiel:

function fenster(betyp){

vschirm = screen.width;
        schirm = vschirm*0.977;
        aufl ="800x600/be_fl_";
        erw ="-400.png'>";
        verzeichnis ="<img align=middle src = '../../../assets/images/";
        ausgabe = verzeichnis + aufl + betyp +erw;
        hohe = screen.width*0.586;
        groesse="toolbar=no,location=no,directories=no,status=no,scrollbars=yes,menubar=no,resizable=yes,width="+schirm+",height="+hohe;
        bildanz = window.open("","fenster",groesse);
        bildanz.moveTo ((screen.width-schirm)/2,(hohe/10));
        moveTo(10,10);

if (vschirm <= 640){ausgabe = verzeichnis + aufl + betyp + erw;}
        if (vschirm > 640 && vschirm < 1023 ){ausgabe = verzeichnis + aufl + betyp + erw;}
        if (vschirm >= 1024 && vschirm <= 1199){aufl = "1024x768/be_fl_"; ausgabe = verzeichnis + aufl + betyp + erw;}
        if (vschirm >=1200 && vschirm <= 1599){aufl = "1200x/be_fl_";ausgabe = verzeichnis + aufl + betyp + erw ;}
        if (vschirm >=1600){aufl = "1600x/be_fl_";ausgabe = verzeichnis + aufl + betyp + erw;}

bildanz.document.clear();
              bildanz.document.open();
              bildanz.document.write("<HTML>");
              bildanz.document.write("<HEAD><title>BewamatViewer</title>");

bildanz.document.write('<scr'+'ipt language="JavaScript">');
              bildanz.document.write('closebut1 = new Image(232,29);closebut1.src="../../../assets/images/153Fensterzu.gif";closebut2 = new Image(232,29);closebut2.src="../../../assets/images/hell153Fensterzu.gif";closebut3 = new Image(232,29);closebut3.src="../../../assets/images/Click153Fensterzu.gif";</Scr'+'ipt>')
              bildanz.document.write("</Head>");

bildanz.document.write("<BODY BGCOLOR=#FFFFFF  TEXT=#000000 ><DIV>")

bildanz.document.write("<center>"+ausgabe+"</center></DIV>")
              bildanz.document.write('<div><center>')
              bildanz.document.write('<img src="../../../assets/images/153Fensterzu.gif" align=middle usemap="#closeroll" width="232" height="30" border="0" alt="" name="closebut" onmouseout="document.closebut.src=closebut1.src"></DIV>')
              bildanz.document.write('<map name="closeroll"><area shape=rect coords="1,1,200,28" href="JavaScript:void(0)" onfocus="blur()" onclick="self .close();window.close();close();top.window.close()" onmouseover="document.closebut.src=closebut2.src" onmousedown="document.closebut.src=closebut3.src" onmouseout="document.closebut.src=closebut1.src"></map>');
              bildanz.document.write("</center></Body></HTML>")
              bildanz.document.write("")

bildanz.document.close();

return true;
}

Gruss

Michael