Sebastian Becker: Alternative zu alert

Beitrag lesen

Hallo, Vonni,

ich möchte nach einer Berechnung einiger Werte diese in einem neuen Fenster anzeigen lassen.
Welche Möglichkeiten gibt es das alert zu ersetzen und die Daten zu präsentieren?

ich hab' mir mal ein Skript für ein Debug-Fenster gebastelt (s.u.). Diese Skript könntest Du für Deine Zwecke adaptieren.

Der Aufruf erfolgt dann einfach mit "debug" statt "alert" ...

debug("Ergebnis der Messung\n"+"\n"+"Fläche: "+gesamt+"  m²"+"\n"+"Umfang: "+Math.round(gess)+" m"+"\n"+"Länge: "+Math.round(umf)+" m");

Grüße,

Sebastian

/* **********************************************************************
Filename: debug.js
Description: debug window
Author: © 2004 Sebastian Becker (sebastian.becker@berlin.de)
********************************************************************** */

function maskTags(str)
{
strTemp = "";
for(i=0;i<str.length;i++)
{
strTemp += (str.charAt(i)=='<')?'&lt;':(str.charAt(i)=='>')?'&gt;':(str.charAt(i)=='"')?'&#34;':str.charAt(i);
}
return strTemp;
}

function maskSingleQuotes(str)
{
strTemp = "";
for(i=0;i<str.length;i++)
{
strTemp += (str.charAt(i)=="'")?"&#34;":str.charAt(i);
}
return strTemp;
}

function debug(value)
{
// extract filename
x = URI.length;
while((URI.substring(x,x-1))!="/")x--;
filename = URI.substring(URI.length,x);

if(!value)
{
value="empty debug value";
}
else
{
value = maskTags(value);
value = maskSingleQuotes(value);
value = "\n<blockquote>\n<pre>\n" + value + "\n</pre>\n</blockquote>\n";
}

debug_title = 'Debug: ' + filename;

var html = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\n';
html += '<html>\n';
html+='<head>\n';
html+='<title>' + debug_title + '</title>\n';
html+='<style type="text/css">\n';
html+='body,td{\n';
html+='overflow: auto;\n';
html+='vertical-align: top;\n';
html+='font-family: Verdana, Arial, sans-serif;\n';
html+='font-size: 8pt;\n';
html+='color: #333333;\n';
html+='}\n';
html+='div#debug {\n';
html+='border: 1px inset activeborder;\n';
html+='overflow: auto;\n';
html+='height: 100%;\n';
html+='}\n';
html+='th {\n';
html+='color: #FFFFFF;\n';
html+='background-color: activecaption;\n';
html+='}\n';
html+='</style>\n';
html+='<s'+'cript>\n';
html+='var w = window.screen.availWidth/2, h = window.screen.availHeight/2;\n';
html+='window.resizeTo(w,h);\n';
html+='window.moveTo((window.screen.availWidth-w)/15,(window.screen.availHeight-h)/10);\n';
html+='</sc'+'ript>\n';
html+='</head>\n\n';
html+='<body leftmargin="0" marginwidth="0" topmargin="5" marginheight="5" bgcolor="buttonface" link="#FFFFFF" vlink="#FFFFFF">\n';
html+='<table width="100%" height="100%" cellspacing="1" cellpadding="1" align="center">\n';
html+='<tr>\n<td valign="top" width="100%" height="100%" bgcolor="#FFFFFF">\n';
html+='<div id="debug">\n<br>\n';
html+= value + '\n';
html+='</div>\n';
html+='</td>\n</tr>\n';
html+='<tr valign="bottom">\n<td align="right">\n';
html+='<a hidefocus href="javascript:window.close()">close</a>\n';
html+='</td>\n</tr>\n';
html+='</table>\n';
html+='</body>\n';
html+='</html>\n';

debugwin = window.open('','debug','top=0,left=0,width=1,height=1,resizable=yes,status=no,menubar=no,toolbar=no,location=no');

debugwin.document.open();
debugwin.document.write(html);
debugwin.document.close();

debugwin.focus();

}