ux/ieconsole.js
[roojs1] / ux / ieconsole.js
1 /* Faux Console by Chris Heilmann http://wait-till-i.com */ 
2 if(!window.console){
3         var console={
4                 init:function(){
5                         console.d=document.createElement('div');
6                         document.body.appendChild(console.d);
7                         var a=document.createElement('a');
8                         a.href='javascript:console.hide()';
9             a.innerHTML='close';
10             console.d.appendChild(a);
11             var a=document.createElement('a');
12             a.href='javascript:console.clear();';
13             a.innerHTML='clear';
14             console.d.appendChild(a);
15             var id='fauxconsole';
16             if(!document.getElementById(id)){
17                 console.d.id=id;
18             }
19             console.hide();
20          
21             
22             var CSS = "\n" + 
23                 '#fauxconsole{' +
24                 '    position:absolute;' +
25                 '    top:0;'+
26                 '    right:0;'+
27                 '    width:300px;'+
28                 '    border:1px solid #999;'+
29                 '    font-family:courier,monospace;'+
30                 '    background:#eee;'+
31                 '    font-size:10px;'+
32                 '    padding:10px;'+
33                 '}'+
34                 'html>body #fauxconsole{'+
35                 '    position:fixed;'+
36                 '}'+
37                 '#fauxconsole a{'+
38                 '    float:right;'+
39                 '    padding-left:1em;'+
40                 '    padding-bottom:.5em;'+
41                 '    text-align:right;'+
42                 '}'; 
43             var htmDiv = document.createElement('div');
44             htmDiv.innerHTML = '<p>&nbsp;</p><style>'+CSS+'</style>';
45             document.body.appendChild(htmDiv);
46           
47             
48             
49         },
50         hide:function(){
51             console.d.style.display='none';
52         },
53         show:function(){
54             console.d.style.display='block';
55         },
56         log:function(o){
57             if (!console.d) {
58                 console.init();
59             }
60             console.d.innerHTML+='<br/>'+o;
61             console.show();
62         },
63         clear:function(){
64             console.d.parentNode.removeChild(console.d);
65             console.init();
66             console.show();
67         },
68         /*Simon Willison rules*/
69         addLoadEvent:function(func){
70             var oldonload=window.onload;
71             if(typeof window.onload!='function'){
72                 window.onload=func;
73             }else{
74                 window.onload=function(){
75                     if(oldonload){
76                         oldonload();
77                     }
78                     func();
79                 };
80             }
81         }
82     };
83     console.addLoadEvent(console.init);
84 }