Dump Object using JavaScript
// usage: dump (object object[, int maxLevel])
// params
// object: any object to get info on
// maxLevel: number of levels to expand (default 0)
function dump(obj, maxLevel, indent) {
if (indent == null) indent = "";
if (maxLevel == null) maxLevel = 0;
if (indent.length > maxLevel) return "###";
var strMessage = "\r\n";
for (var p in obj) {
strMessage += indent + p + ": ";
try {
if (obj[p] && typeof(obj[p]) == "object") {
strMessage += dump(obj[p], indent + "\t");
} else {
strMessage += obj[p];
}
} catch (e) {
strMessage += e.message;
}
strMessage += "\r\n";
}
return strMessage;
}
// to alert dump
alert(dump(window));
// with an extra level of info
alert(dump(window,1));
// to output in new window:
var win = window.open('about:blank','debug');
alert('wait please');
win.document.body.innerHTML = "<pre>" + dump(window,1) + "</pre>";