hallöchen auch,
hab da ein technisches problem.
ich habe mittels javascript ein fenster öffnen lassen, wo ich dann mittels einer for-schleife daten in dieses fenster "reinschreibe".
es dauert dann also ne weile bis alle daten (ein array mit ca. 100 elementen) in dieses neugeöffnete fenster auftauchen.
wenn ich aber vorher das fenster schließen möchte, bevor diese daten komplett geschrieben worden sind bzw. die for-schleife beendet ist, kommt da folgende fehlermeldung: Erlaubnis verweigert.
wie kann ich diese fehlermeldung umgehen?oder das schließen des fensters soweit unterbinden das erst nach dem laden/schreiben des gesamten array's das fenster geschlossen werden kann/darf.
hier die funktion womit ich das fenster erstelle. dabei ist die variable out das besagte array.
var Drucken_ohne_BTH = function()
{
var fenster = window.open( "", "Druckfenster", "width=720,height=800,left=500,top=100,scrollbars=1" );
fenster.focus();
var date = new Date();
var Tag = date.getDate();
var Monat = date.getMonth();
var Jahr = date.getFullYear();
var Datum = Tag + "." + Monat + "." + Jahr;
fenster.document.open();
fenster.document.write( "<html><head><title>Druckfenster</title>" );
fenster.document.write( "<style type='text/css'>" );
fenster.document.write( "body { margin:5px }" );
fenster.document.write( "table.print { width:700px; height:735px; border:2px; border-style: outset; margin:0px; border-spacing:0; border-collapse:collapse }" );
//fenster.document.write( "td { border:1px; border-style: inset }" );
fenster.document.write( ".print1 { vertical-align:top }" );
fenster.document.write( ".print2 { vertical-align:top; padding-left: 40px }" );
fenster.document.write( ".print3 { vertical-align:top }" );
fenster.document.write( "</style>" );
fenster.document.write( "</head><body>" );
fenster.document.write( "<table class='print'><tr height=25><td colspan=3 align='right'>" + Datum + "</td></tr>" );
fenster.document.write( "<tr height=50><td width='30%' align='left' style='font-size:14pt'><b>Schnittteilliste</b></td><td width='40%' style='padding-left: 40px' style='font-size:14pt'><b>" + locations.outfile1 + "</b></td><td width='30%' align='center'><input type='button' value='Drucken'></input></td></tr>" );
fenster.document.write( "<tr><td align='left' id='print1' class='print1'></td><td id='print2' class='print2'></td><td id='print3' class='print3'></td></tr>" );
fenster.document.write( "</table>" );
fenster.document.write( "<div><i><center>Diese Darstellung spiegelt nicht die Ausgabe auf dem Papier wieder. Es dient lediglich nur zur Kontrolle.<br>Wenn Sie die Stückliste als Schnittteilliste ausdrucken wollen, betätigen Sie oben rechts den Button.</center></i></div>" );
//----------------------------------------
//-- Stückliste ins neue Fenster schreiben
//----------------------------------------
if( out.length <= 102 )
{
if( out.length <= 34 )
{
var teil1 = out.length;
} else { var teil1 = 34; };
if( out.length <= 68 )
{
var teil2 = out.length;
} else { var teil2 = 68; };
} else if( out.length > 102 )
{
var teil1 = Math.ceil( out.length / 3 );
var teil2 = teil1 * 2;
};
for( var i = 0; i < teil1; i++ )
{
fenster.document.getElementById( "print1" ).innerHTML += out[i] + "<br>";
};
for( var i = teil1; i < teil2; i++ )
{
fenster.document.getElementById( "print2" ).innerHTML += out[i] + "<br>";
};
for( var i = teil2; i < out.length; i++ )
{
fenster.document.getElementById( "print3" ).innerHTML += out[i] + "<br>";
};
fenster.document.write( "</body></html>" );
fenster.document.close();
};
lg romero