A Community of IE7Pro users
You are not logged in.
FireBug is a great FF extension ! But for non-FF browser, FireBug developpers have developped a little JavaScript script that permit to use a "little" FireBug console... but you must add this script to all pages of your site... not a good idea... Ah, but UserScript can do this for you !!! Gread idea !!!
Some minor transformation for UserScript compatibility and it works !
// ==UserScript==
// @name FireBug Console
// @description FireBug Lite!
// @include *
// ==/UserScript==
// ADD (FREMYCOMPANY) //
var firebug_html="%3C!DOCTYPE%20html%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20XHTML%201.0%20Strict%2F%2FEN%22%0A%20%20%20%20%20%20%20%20%20%22http%3A%2F%2Fwww.w3.org%2FTR%2Fxhtml1%2FDTD%2Fxhtml1-strict.dtd%22%3E%0A%0A%3Chtml%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%22%3E%0A%0A%3Chead%3E%0A%20%20%20%20%3Ctitle%3EFirebug%3C%2Ftitle%3E%0A%20%20%20%20%3Clink%20rel%3D%22stylesheet%22%20type%3D%22text%2Fcss%22%20href%3D%22http%3A%2F%2Fwww.getfirebug.com%2Ffirebug%2Ffirebug.css%22%3E%0A%3C%2Fhead%3E%0A%0A%3Cbody%3E%0A%20%20%20%20%3Cdiv%20id%3D%22toolbar%22%20class%3D%22toolbar%22%3E%0A%20%20%20%20%20%20%20%20%3Ca%20href%3D%22%23%22%20onclick%3D%22parent.console.clear()%22%3EClear%3C%2Fa%3E%0A%20%20%20%20%20%20%20%20%3Cspan%20class%3D%22toolbarRight%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Ca%20href%3D%22%23%22%20onclick%3D%22parent.console.close()%22%3EClose%3C%2Fa%3E%0A%20%20%20%20%20%20%20%20%3C%2Fspan%3E%0A%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%3Cdiv%20id%3D%22log%22%3E%3C%2Fdiv%3E%0A%20%20%20%20%3Cinput%20type%3D%22text%22%20id%3D%22commandLine%22%3E%0A%20%20%20%20%0A%20%20%20%20%3Cscript%3Eparent.onFirebugReady(document)%3B%3C%2Fscript%3E%0A%3C%2Fbody%3E%0A%3C%2Fhtml%3E%0A";
var firebug_css="%0Ahtml%2C%20body%20%7B%0A%20%20%20%20margin%3A%200%3B%0A%20%20%20%20background%3A%20%23FFFFFF%3B%0A%20%20%20%20font-family%3A%20Lucida%20Grande%2C%20Tahoma%2C%20sans-serif%3B%0A%20%20%20%20font-size%3A%2011px%3B%0A%20%20%20%20overflow%3A%20hidden%3B%0A%7D%0A%0Aa%20%7B%0A%20%20%20%20text-decoration%3A%20none%3B%0A%7D%0A%0Aa%3Ahover%20%7B%0A%20%20%20%20text-decoration%3A%20underline%3B%0A%7D%0A%0A.toolbar%20%7B%0A%20%20%20%20height%3A%2014px%3B%0A%20%20%20%20border-top%3A%201px%20solid%20ThreeDHighlight%3B%0A%20%20%20%20border-bottom%3A%201px%20solid%20ThreeDShadow%3B%0A%20%20%20%20padding%3A%202px%206px%3B%0A%20%20%20%20background%3A%20ThreeDFace%3B%0A%7D%0A%0A.toolbarRight%20%7B%0A%20%20%20%20position%3A%20absolute%3B%0A%20%20%20%20top%3A%204px%3B%0A%20%20%20%20right%3A%206px%3B%0A%7D%0A%0A%23log%20%7B%0A%20%20%20%20overflow%3A%20auto%3B%0A%20%20%20%20position%3A%20absolute%3B%0A%20%20%20%20left%3A%200%3B%0A%20%20%20%20width%3A%20100%25%3B%0A%7D%0A%0A%23commandLine%20%7B%0A%20%20%20%20position%3A%20absolute%3B%0A%20%20%20%20bottom%3A%200%3B%0A%20%20%20%20left%3A%200%3B%0A%20%20%20%20width%3A%20100%25%3B%0A%20%20%20%20height%3A%2018px%3B%0A%20%20%20%20border%3A%20none%3B%0A%20%20%20%20border-top%3A%201px%20solid%20ThreeDShadow%3B%0A%7D%0A%0A%2F************************************************************************************************%2F%0A%0A.logRow%20%7B%0A%20%20%20%20position%3A%20relative%3B%0A%20%20%20%20border-bottom%3A%201px%20solid%20%23D7D7D7%3B%0A%20%20%20%20padding%3A%202px%204px%201px%206px%3B%0A%20%20%20%20background-color%3A%20%23FFFFFF%3B%0A%7D%0A%0A.logRow-command%20%7B%0A%20%20%20%20font-family%3A%20Monaco%2C%20monospace%3B%0A%20%20%20%20color%3A%20blue%3B%0A%7D%0A%0A.objectBox-null%20%7B%0A%20%20%20%20padding%3A%200%202px%3B%0A%20%20%20%20border%3A%201px%20solid%20%23666666%3B%0A%20%20%20%20background-color%3A%20%23888888%3B%0A%20%20%20%20color%3A%20%23FFFFFF%3B%0A%7D%0A%0A.objectBox-string%20%7B%0A%20%20%20%20font-family%3A%20Monaco%2C%20monospace%3B%0A%20%20%20%20color%3A%20red%3B%0A%20%20%20%20white-space%3A%20pre%3B%0A%7D%0A%0A.objectBox-number%20%7B%0A%20%20%20%20color%3A%20%23000088%3B%0A%7D%0A%0A.objectBox-function%20%7B%0A%20%20%20%20font-family%3A%20Monaco%2C%20monospace%3B%0A%20%20%20%20color%3A%20DarkGreen%3B%0A%7D%0A%0A.objectBox-object%20%7B%0A%20%20%20%20color%3A%20DarkGreen%3B%0A%20%20%20%20font-weight%3A%20bold%3B%0A%7D%0A%0A%2F************************************************************************************************%2F%0A%0A.logRow-info%2C%0A.logRow-error%2C%0A.logRow-warning%20%7B%0A%20%20%20%20background%3A%20%23FFFFFF%20no-repeat%202px%202px%3B%0A%20%20%20%20padding-left%3A%2020px%3B%0A%20%20%20%20padding-bottom%3A%203px%3B%0A%7D%0A%0A.logRow-info%20%7B%0A%20%20%20%20background-image%3A%20url(infoIcon.png)%3B%0A%7D%0A%0A.logRow-warning%20%7B%0A%20%20%20%20background-color%3A%20cyan%3B%0A%20%20%20%20background-image%3A%20url(warningIcon.png)%3B%0A%7D%0A%0A.logRow-error%20%7B%0A%20%20%20%20background-color%3A%20LightYellow%3B%0A%20%20%20%20background-image%3A%20url(errorIcon.png)%3B%0A%7D%0A%0A.errorMessage%20%7B%0A%20%20%20%20vertical-align%3A%20top%3B%0A%20%20%20%20color%3A%20%23FF0000%3B%0A%7D%0A%0A.objectBox-sourceLink%20%7B%0A%20%20%20%20position%3A%20absolute%3B%0A%20%20%20%20right%3A%204px%3B%0A%20%20%20%20top%3A%202px%3B%0A%20%20%20%20padding-left%3A%208px%3B%0A%20%20%20%20font-family%3A%20Lucida%20Grande%2C%20sans-serif%3B%0A%20%20%20%20font-weight%3A%20bold%3B%0A%20%20%20%20color%3A%20%230000FF%3B%0A%7D%0A%0A%2F************************************************************************************************%2F%0A%0A.logRow-group%20%7B%0A%20%20%20%20background%3A%20%23EEEEEE%3B%0A%20%20%20%20border-bottom%3A%20none%3B%0A%7D%0A%0A.logGroup%20%7B%0A%20%20%20%20background%3A%20%23EEEEEE%3B%0A%7D%0A%0A.logGroupBox%20%7B%0A%20%20%20%20margin-left%3A%2024px%3B%0A%20%20%20%20border-top%3A%201px%20solid%20%23D7D7D7%3B%0A%20%20%20%20border-left%3A%201px%20solid%20%23D7D7D7%3B%0A%7D%0A%0A%2F************************************************************************************************%2F%0A%0A.selectorTag%2C%0A.selectorId%2C%0A.selectorClass%20%7B%0A%20%20%20%20font-family%3A%20Monaco%2C%20monospace%3B%0A%20%20%20%20font-weight%3A%20normal%3B%0A%7D%0A%0A.selectorTag%20%7B%0A%20%20%20%20color%3A%20%230000FF%3B%0A%7D%0A%0A.selectorId%20%7B%0A%20%20%20%20color%3A%20DarkBlue%3B%0A%7D%0A%0A.selectorClass%20%7B%0A%20%20%20%20color%3A%20red%3B%0A%7D%0A%0A%2F************************************************************************************************%2F%0A%0A.objectBox-element%20%7B%0A%20%20%20%20font-family%3A%20Monaco%2C%20monospace%3B%0A%20%20%20%20color%3A%20%23000088%3B%0A%7D%0A%0A.nodeChildren%20%7B%0A%20%20%20%20margin-left%3A%2016px%3B%0A%7D%0A%0A.nodeTag%20%7B%0A%20%20%20%20color%3A%20blue%3B%0A%7D%0A%0A.nodeValue%20%7B%0A%20%20%20%20color%3A%20%23FF0000%3B%0A%20%20%20%20font-weight%3A%20normal%3B%0A%7D%0A%0A.nodeText%2C%0A.nodeComment%20%7B%0A%20%20%20%20margin%3A%200%202px%3B%0A%20%20%20%20vertical-align%3A%20top%3B%0A%7D%0A%0A.nodeText%20%7B%0A%20%20%20%20color%3A%20%23333333%3B%0A%7D%0A%0A.nodeComment%20%7B%0A%20%20%20%20color%3A%20DarkGreen%3B%0A%7D%0A%0A%2F************************************************************************************************%2F%0A%0A.propertyNameCell%20%7B%0A%20%20%20%20vertical-align%3A%20top%3B%0A%7D%0A%0A.propertyName%20%7B%0A%20%20%20%20font-weight%3A%20bold%3B%0A%7D%0A";
var objectBrowser_html="%3C!DOCTYPE%20html%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20XHTML%201.0%20Transitional%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FTR%2Fxhtml1%2FDTD%2Fxhtml1-transitional.dtd%22%3E%0D%0A%3Chtml%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%22%20%3E%0D%0A%3Chead%3E%0D%0A%20%20%20%20%3Ctitle%3EObject%20Browser%3C%2Ftitle%3E%0D%0A%20%20%20%20%3Cscript%20type%3D%22text%2Fjavascript%22%3E%0D%0A%20%20%20%20var%20target%20%3D%20opener.console.target%3B%0D%0A%20%20%20%20var%20targets%20%3D%20%5Btarget%5D%3B%0D%0A%20%20%20%20%20%20%20%20targets.currentIndex%20%3D%200%3B%0D%0A%20%20%20%20%20%20%20%20targets.moveUp%3Dfunction(name)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20this.currentIndex%2B%2B%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20this%5Bthis.currentIndex%5D%3Dthis%5Bthis.currentIndex-1%5D%5Bname%5D%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20this.refresh()%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20targets.moveNext%3Dfunction(newTarget)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(!newTarget)%20%7B%20alert(%22This%20object%20doesn't%20exists%22)%3B%20return%20false%3B%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20this.currentIndex%2B%2B%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20this%5Bthis.currentIndex%5D%3DnewTarget%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20this.refresh()%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20targets.moveDown%3Dfunction()%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(this.currentIndex!%3D0)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20delete%20this%5Bthis.currentIndex%5D%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20this.currentIndex--%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20this.refresh()%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20targets.printValue%3Dfunction()%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20w%20%3D%20window.open(%22about%3Ablank%22%2C%22_blank%22%2C%22height%3D600%2C%20width%3D800%2C%20centerscreen%3Dyes%2C%20center%3Dyes%2C%20scrollbars%3Dyes%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20targets.printValue.w%3Dw%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20setTimeout(targets.printValue.wait%2C%20150)%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20targets.printValue.wait%3Dfunction()%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20w%20%3D%20targets.printValue.w%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(w.document)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20s%20%3D%20document.createElement(%22span%22)%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20s.appendChild(document.createTextNode((%22%22%2Btarget).split(%22%5Cn%22).join(%22%5BBR%5D%22).split(%22%5Ct%22).join(%22%5BS%5D%22)))%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20w.document.write(s.innerHTML.split(%22%5BBR%5D%22).join(%22%3CBR%20%2F%3E%22).split(%22%5BS%5D%22).join(%22%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%22))%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout(targets.printValue%2C%20150)%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20targets.refresh%3Dfunction()%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20target%20%3D%20targets%5Btargets.currentIndex%5D%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20tbody%20%3D%20%22%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20try%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20s%20%3D%20document.createElement(%22span%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20s.appendChild(document.createTextNode(%22%22%2Btarget))%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20try%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20tbody%20%2B%3D%20getData(%22propertyRow%22%2C%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22name%22%3A%22%3Cb%3EValue%3C%2Fb%3E%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22target%22%3A%22targets.printValue()%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22value%22%3AescapeHTML((%22%22%2Btarget).split(%22%5Cn%22)%5B0%5D.substr(0%2C%2027)%20%2B%20%22...%22)%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(ex)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20tbody%20%2B%3D%20getData(%22propertyRow%22%2C%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22name%22%3A%22%3Cb%3EValue%3C%2Fb%3E%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22target%22%3A%22targets.printValue()%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22value%22%3A%22%5Bobject%5D%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20tbody%20%2B%3D%20getData(%22propertyRow%22%2C%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22name%22%3A%22%3Cb%3EProperties%3C%2Fb%3E%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22target%22%3A%22%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22value%22%3A%22%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20try%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20for%20(key%20in%20target)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20try%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20tbody%20%2B%3D%20getData(%22propertyRow%22%2C%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22name%22%3Akey%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22target%22%3A%22targets.moveUp('%22%2Bkey.split(%22'%22).join(%22%5C%5C'%22)%2B%22')%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22value%22%3AescapeHTML((%22%22%2Btarget%5Bkey%5D).split(%22%5Cn%22)%5B0%5D.substr(0%2C%2030))%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(ex)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20tbody%20%2B%3D%20getData(%22propertyRow%22%2C%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22name%22%3Akey%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22target%22%3A%22targets.moveUp('%22%2Bkey.split(%22'%22).join(%22%5C%5C'%22)%2B%22')%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22value%22%3A%22%5Bobject%5D%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(ex)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20tbody%20%2B%3D%20getData(%22propertyRow%22%2C%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22name%22%3A%22Couldn't%20evaluate%20children%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22target%22%3A%22%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22value%22%3A%22...%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(ex)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20table%20%3D%20getData(%22propertyTable%22%2C%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22tbody%22%3Atbody%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20container%20%3D%20document.getElementById(%22properties%22)%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20container.innerHTML%3Dtable%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20container.scrollTop%20%3D%200%3B%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%0D%0A%20%20%20%20%20%20%20%20function%20getData(name%2C%20remplacements)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20res%20%3D%20document.getElementById(%22data_%22%20%2B%20name).firstChild.data%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20for%20(key%20in%20remplacements)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20res%20%3D%20res.split(%22%3C%5C%3F%22%20%2B%20key%20%2B%20%22%3F%5C%3E%22).join(remplacements%5Bkey%5D)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20res%3B%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%0D%0A%20%20%20%20%20%20%20%20escapeZone%20%3D%20document.createElement(%22span%22)%0D%0A%20%20%20%20%20%20%20%20function%20escapeHTML(t)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20escapeZone.innerHTML%3D%22%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20escapeZone.appendChild(document.createTextNode(t))%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20escapeZone.innerHTML%3B%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%0D%0A%20%20%20%20%20%20%20%20function%20Button1_onclick()%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20targets.moveDown()%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20%20%20%20%20function%20Button2_onclick()%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20targets.refresh()%3B%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%0D%0A%20%20%20%20%20%20%20%20function%20Button3_onclick()%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20try%20%7B%20targets.moveNext(eval(document.getElementById(%22Input1%22).value))%3B%20%7D%20catch%20(ex)%20%7B%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20document.getElementById(%22Input1%22).value%3D%22target%22%3B%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%3C%2Fscript%3E%0D%0A%3C%2Fhead%3E%0D%0A%3Cbody%20bgcolor%3D%22buttonface%22%3E%0D%0A%20%20%20%20%3Cinput%20id%3D%22Button1%22%20type%3D%22button%22%20value%3D%22%20%20Back%20%20%22%20language%3D%22javascript%22%20onclick%3D%22return%20Button1_onclick()%22%20%2F%3E%0D%0A%20%20%20%20%3Cinput%20id%3D%22Button2%22%20type%3D%22button%22%20value%3D%22%20Refresh%20%22%20language%3D%22javascript%22%20onclick%3D%22return%20Button2_onclick()%22%20%2F%3E%0D%0A%20%20%20%20%3Cinput%20id%3D%22Input1%22%20type%3D%22input%22%20value%3D%22target%22%20language%3D%22javascript%22%20%2F%3E%0D%0A%20%20%20%20%3Cinput%20id%3D%22Button3%22%20type%3D%22button%22%20value%3D%22%20Execute%20%22%20language%3D%22javascript%22%20onclick%3D%22return%20Button3_onclick()%22%20%2F%3E%0D%0A%20%20%20%20%3Cbr%20%2F%3E%0D%0A%20%20%20%20%3Cdiv%20id%3D%22properties%22%20style%3D%22width%3A%20490px%3B%20height%3A%20300px%3B%20overflow-y%3A%20scroll%3B%20overflow-x%3A%20hidden%3B%20%22%3E%3C%2Fdiv%3E%0D%0A%20%20%20%20%3Cspan%20id%3D%22data%22%3E%0D%0A%20%20%20%20%20%20%20%20%3Cspan%20id%3D%22data_propertyTable%22%3E%3C!--%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Ctable%20width%3D%22490%22%20border%3D%221px%20black%20solid%22%20style%3D%22background-color%3A%20white%3B%20widht%3A%20490px%22%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctbody%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%3Ftbody%3F%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%20width%3D%22130px%22%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20No%20more%20property%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%20width%3D%22360px%22%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26nbsp%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftr%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftbody%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftable%3E%20%20%20%20%20%20%20%20%0D%0A%20%20%20%20%20%20%20%20--%3E%3C%2Fspan%3E%0D%0A%20%20%20%20%20%20%20%20%3Cspan%20id%3D%22data_propertyRow%22%3E%3C!--%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%20width%3D%22100px%22%20style%3D%22cursor%3A%20pointer%22%20onclick%3D%22%3C%3Ftarget%3F%3E%22%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%3Fname%3F%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%20width%3D%22300px%22%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%3Fvalue%3F%3E%26nbsp%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftr%3E%0D%0A%20%20%20%20%20%20%20%20--%3E%3C%2Fspan%3E%0D%0A%20%20%20%20%3C%2Fspan%3E%0D%0A%20%20%20%20%3Cscript%3Etargets.refresh()%3C%2Fscript%3E%0D%0A%3C%2Fbody%3E%0D%0A%3C%2Fhtml%3E%0D%0A";
var firebug_base_URI="http://www.getfirebug.com/firebug/"
var objectCache=new Array();
// END ADD //
if (!("console" in window) || !("firebug" in console)) {
(function()
{
var document=window.document;
window.console =
{
log: function()
{
logFormatted(arguments, "");
},
debug: function()
{
logFormatted(arguments, "debug");
},
info: function()
{
logFormatted(arguments, "info");
},
warn: function()
{
logFormatted(arguments, "warning");
},
error: function()
{
logFormatted(arguments, "error");
},
assert: function(truth, message)
{
if (!truth)
{
var args = [];
for (var i = 1; i < arguments.length; ++i)
args.push(arguments[i]);
logFormatted(args.length ? args : ["Assertion Failure"], "error");
throw message ? message : "Assertion Failure";
}
},
dir: function(object)
{
var html = [];
var pairs = [];
for (var name in object)
{
try
{
pairs.push([name, object[name]]);
}
catch (exc)
{
}
}
pairs.sort(function(a, b) { return a[0] < b[0] ? -1 : 1; });
html.push('<table>');
for (var i = 0; i < pairs.length; ++i)
{
var name = pairs[i][0], value = pairs[i][1];
html.push('<tr>',
'<td class="propertyNameCell"><span class="propertyName">',
escapeHTML(name), '</span></td>', '<td><span class="propertyValue">');
appendObject(value, html);
html.push('</span></td></tr>');
}
html.push('</table>');
logRow(html, "dir");
},
dirxml: function(node)
{
var html = [];
appendNode(node, html);
logRow(html, "dirxml");
},
group: function()
{
logRow(arguments, "group", pushGroup);
},
groupEnd: function()
{
logRow(arguments, "", popGroup);
},
time: function(name)
{
timeMap[name] = (new Date()).getTime();
},
timeEnd: function(name)
{
if (name in timeMap)
{
var delta = (new Date()).getTime() - timeMap[name];
logFormatted([name+ ":", delta+"ms"]);
delete timeMap[name];
}
},
count: function()
{
this.warn(["count() not supported."]);
},
trace: function()
{
this.warn(["trace() not supported."]);
},
profile: function()
{
this.warn(["profile() not supported."]);
},
profileEnd: function()
{
},
clear: function()
{
objectCache=new Array();
consoleBody.innerHTML = "";
},
open: function()
{
toggleConsole(true);
},
close: function()
{
if (frameVisible)
toggleConsole();
}
};
// ********************************************************************************************
var consoleFrame = null;
var consoleBody = null;
var commandLine = null;
var frameVisible = false;
var messageQueue = [];
var groupStack = [];
var timeMap = {};
var clPrefix = ">>> ";
var isFirefox = navigator.userAgent.indexOf("Firefox") != -1;
var isOpera = navigator.userAgent.indexOf("Opera") != -1;
var isIE = !isOpera && navigator.userAgent.indexOf("MSIE") != -1;
var isSafari = navigator.userAgent.indexOf("AppleWebKit") != -1;
// ********************************************************************************************
function toggleConsole(forceOpen)
{
frameVisible = forceOpen || !frameVisible;
if (consoleFrame) {
consoleFrame.style.visibility = frameVisible ? "visible" : "hidden";
if (consoleFrame.style.visibility=="visible") {
consoleFrame.timer=setInterval(layout, 100);
} else {
clearInterval(consoleFrame.timer);
}
} else {
waitForBody();
}
}
function focusCommandLine()
{
toggleConsole(true);
if (commandLine)
commandLine.focus();
}
function waitForBody()
{
if (document.body)
createFrame();
else
setTimeout(waitForBody, 200);
}
function createFrame()
{
if (consoleFrame)
return;
window.onFirebugReady = function(doc)
{
window.onFirebugReady = null;
var toolbar = doc.getElementById("toolbar");
toolbar.onmousedown = onSplitterMouseDown;
commandLine = doc.getElementById("commandLine");
addEvent(commandLine, "keydown", onCommandLineKeyDown);
addEvent(doc, isIE || isSafari ? "keydown" : "keypress", onKeyDown);
consoleBody = doc.getElementById("log");
layout();
flush();
doc.createStyleSheet();
doc.cssText=unescape(firebug_css);
doc.oncontextmenu=function() { return false; }
}
var baseURL = getFirebugURL();
consoleFrame = document.createElement("iframe");
consoleFrame.name="firebug_console";
consoleFrame.src="about:blank";
consoleFrame.setAttribute("frameBorder", "0");
consoleFrame.style.visibility = (frameVisible ? "visible" : "hidden");
consoleFrame.style.zIndex = "2147483647";
consoleFrame.style.position = "fixed";
consoleFrame.style.width = "100%";
consoleFrame.style.left = "0";
consoleFrame.style.bottom = "0";
consoleFrame.style.height = "200px";
consoleFrame.style.border = "3px inset"
if (document.compatMode && (document.compatMode=="BackCompat")) {
consoleFrame.style.position="absolute";
consoleFrame.style.bottom="";
consoleFrame.style.setExpression("width", "((document.compatMode && (document.compatMode=='CSS1Compat')) ? document.documentElement.clientWidth : document.body.clientWidth) -6")
consoleFrame.style.setExpression("top","((document.compatMode && (document.compatMode=='CSS1Compat')) ? document.documentElement.scrollTop + (document.documentElement.clientHeight-this.clientHeight) : document.body.scrollTop + (document.body.clientHeight-this.clientHeight)) - 6");
}
document.body.appendChild(consoleFrame);
try {
window.consoleFrame=consoleFrame;
consoleFrame.maxSize=function(newSize) {
consoleFrame.style.display="none";
consoleFrame.visibility="hidden";
while ((newSize + consoleFrame.offsetTop + consoleFrame.offsetHeight > document.body.scrollHeight) && newSize > 0) {
newSize-=1;
}
consoleFrame.style.display="block";
consoleFrame.visibility="visible";
return newSize;
}
consoleFrame.pageResizer = document.createElement("DIV");
consoleFrame.pageResizer.style.setExpression("height", "consoleFrame.maxSize(consoleFrame.offsetHeight) + 'px'");
consoleFrame.pageResizer.style.setExpression("top", "consoleFrame.offsetTop + consoleFrame.offsetHeight");
consoleFrame.pageResizer.style.setExpression("display", "consoleFrame.style.visibility=='hidden'?'none':''");
document.body.appendChild(consoleFrame.pageResizer);
} catch (ex) {}
consoleFrame.wait=function() {
var doc = null;
if (consoleFrame.contentWindow) {
doc = consoleFrame.contentWindow.document;
} else if (consoleFrame.window) {
doc = consoleFrame.window.document;
} else {
setTimeout(consoleFrame.wait, 150);
return false;
}
doc.write(unescape(firebug_html));
}
setTimeout(consoleFrame.wait, 150)
}
function getFirebugURL()
{
/*
var scripts = document.getElementsByTagName("script");
for (var i = 0; i < scripts.length; ++i)
{
if (scripts[i].src.indexOf("firebug.js") != -1)
{
var lastSlash = scripts[i].src.lastIndexOf("/");
return scripts[i].src.substr(0, lastSlash);
}
}
*/
return firebug_base_URI;
}
function evalCommandLine()
{
var text = commandLine.value;
commandLine.value = "";
logRow([clPrefix, text], "command");
var value;
try
{
value = eval(text);
}
catch (exc)
{
}
console.log(value);
}
function layout()
{
consoleFrame.style.height=parseInt(consoleFrame.style.height)-6;
var toolbar = consoleBody.ownerDocument.getElementById("toolbar");
var height = consoleFrame.offsetHeight - (toolbar.offsetHeight + commandLine.offsetHeight);
consoleBody.style.top = toolbar.offsetHeight + "px";
consoleBody.style.height = height + "px";
commandLine.style.top = (consoleFrame.offsetHeight - commandLine.offsetHeight) + "px";
consoleFrame.style.height=parseInt(consoleFrame.style.height)+6;
}
function logRow(message, className, handler)
{
if (consoleBody)
writeMessage(message, className, handler);
else
{
messageQueue.push([message, className, handler]);
waitForBody();
}
}
function flush()
{
var queue = messageQueue;
messageQueue = [];
for (var i = 0; i < queue.length; ++i)
writeMessage(queue[i][0], queue[i][1], queue[i][2]);
}
function writeMessage(message, className, handler)
{
var isScrolledToBottom =
consoleBody.scrollTop + consoleBody.offsetHeight >= consoleBody.scrollHeight;
if (!handler)
handler = writeRow;
handler(message, className);
if (isScrolledToBottom)
consoleBody.scrollTop = consoleBody.scrollHeight - consoleBody.offsetHeight;
}
function appendRow(row)
{
var container = groupStack.length ? groupStack[groupStack.length-1] : consoleBody;
container.appendChild(row);
}
function writeRow(message, className)
{
var row = consoleBody.ownerDocument.createElement("div");
row.className = "logRow" + (className ? " logRow-"+className : "");
row.innerHTML = message.join("");
appendRow(row);
}
function pushGroup(message, className)
{
logFormatted(message, className);
var groupRow = consoleBody.ownerDocument.createElement("div");
groupRow.className = "logGroup";
var groupRowBox = consoleBody.ownerDocument.createElement("div");
groupRowBox.className = "logGroupBox";
groupRow.appendChild(groupRowBox);
appendRow(groupRowBox);
groupStack.push(groupRowBox);
}
function popGroup()
{
groupStack.pop();
}
// ********************************************************************************************
function logFormatted(objects, className)
{
var html = [];
var format = objects[0];
var objIndex = 0;
if (typeof(format) != "string")
{
format = "";
objIndex = -1;
}
var parts = parseFormat(format);
for (var i = 0; i < parts.length; ++i)
{
var part = parts[i];
if (part && typeof(part) == "object")
{
var object = objects[++objIndex];
part.appender(object, html);
}
else
appendText(part, html);
}
for (var i = objIndex+1; i < objects.length; ++i)
{
appendText(" ", html);
var object = objects[i];
if (typeof(object) == "string")
appendText(object, html);
else
appendObject(object, html);
}
logRow(html, className);
}
function parseFormat(format)
{
var parts = [];
var reg = /((^%|[^\\]%)(\d+)?(\.)([a-zA-Z]))|((^%|[^\\]%)([a-zA-Z]))/;
var appenderMap = {s: appendText, d: appendInteger, i: appendInteger, f: appendFloat};
for (var m = reg.exec(format); m; m = reg.exec(format))
{
var type = m[8] ? m[8] : m[5];
var appender = type in appenderMap ? appenderMap[type] : appendObject;
var precision = m[3] ? parseInt(m[3]) : (m[4] == "." ? -1 : 0);
parts.push(format.substr(0, m[0][0] == "%" ? m.index : m.index+1));
parts.push({appender: appender, precision: precision});
format = format.substr(m.index+m[0].length);
}
parts.push(format);
return parts;
}
function escapeHTML(value)
{
function replaceChars(ch)
{
switch (ch)
{
case "<":
return "<";
case ">":
return ">";
case "&":
return "&";
case "'":
return "'";
case '"':
return """;
}
return "?";
};
return String(value).replace(/[<>&"']/g, replaceChars);
}
function objectToString(object)
{
try
{
return object+"";
}
catch (exc)
{
return null;
}
}
// ********************************************************************************************
function appendText(object, html)
{
html.push(escapeHTML(objectToString(object)));
}
function appendNull(object, html)
{
html.push('<span class="objectBox-null">', escapeHTML(objectToString(object)), '</span>');
}
function appendString(object, html)
{
html.push('<span class="objectBox-string">"', escapeHTML(objectToString(object)),
'"</span>');
}
function appendInteger(object, html)
{
html.push('<span class="objectBox-number">', escapeHTML(objectToString(object)), '</span>');
}
function appendFloat(object, html)
{
html.push('<span class="objectBox-number">', escapeHTML(objectToString(object)), '</span>');
}
function appendFunction(object, html)
{
var reName = /function ?(.*?)\(/;
var m = reName.exec(objectToString(object));
var name = m ? m[1] : "function";
html.push('<span class="objectBox-function">', escapeHTML(name), '()</span>');
}
function appendObject(object, html)
{
try
{
if (object == undefined)
appendNull("undefined", html);
else if (object == null)
appendNull("null", html);
else if (typeof object == "string")
appendString(object, html);
else if (typeof object == "number")
appendInteger(object, html);
else if (typeof object == "function")
appendFunction(object, html);
else if (object.nodeType == 1)
appendSelector(object, html);
else if (typeof object == "object")
appendObjectFormatted(object, html);
else
appendText(object, html);
}
catch (exc)
{
}
}
window.analyse = function analyse(index) {
window.console.target=objectCache[index];
var w = window.open("about:blank","_blank","width=500,height=350");
analyse.w=w;
setTimeout(analyse.wait, 150);
}
analyse.wait=function() {
var w = analyse.w;
if (w.document) {
w.document.write(unescape(objectBrowser_html))
} else {
setTimeout(analyse.wait, 150)
}
}
function appendObjectFormatted(object, html)
{
var index=objectCache.length;
objectCache.push(object);
var text = objectToString(object);
var reObject = /\[object (.*?)\]/;
var m = reObject.exec(text);
html.push('<span class="objectBox-object" style="cursor: pointer" onclick="parent.analyse('+index+')">', m ? m[1] : text, '</span>')
}
function appendSelector(object, html)
{
html.push('<span class="objectBox-selector">');
html.push('<span class="selectorTag">', escapeHTML(object.nodeName.toLowerCase()), '</span>');
if (object.id)
html.push('<span class="selectorId">#', escapeHTML(object.id), '</span>');
if (object.className)
html.push('<span class="selectorClass">.', escapeHTML(object.className), '</span>');
html.push('</span>');
}
function appendNode(node, html)
{
if (node.nodeType == 1)
{
html.push(
'<div class="objectBox-element">',
'<<span class="nodeTag">', node.nodeName.toLowerCase(), '</span>');
for (var i = 0; i < node.attributes.length; ++i)
{
var attr = node.attributes[i];
if (!attr.specified)
continue;
html.push(' <span class="nodeName">', attr.nodeName.toLowerCase(),
'</span>="<span class="nodeValue">', escapeHTML(attr.nodeValue),
'</span>"')
}
if (node.firstChild)
{
html.push('></div><div class="nodeChildren">');
for (var child = node.firstChild; child; child = child.nextSibling)
appendNode(child, html);
html.push('</div><div class="objectBox-element"></<span class="nodeTag">',
node.nodeName.toLowerCase(), '></span></div>');
}
else
html.push('/></div>');
}
else if (node.nodeType == 3)
{
html.push('<div class="nodeText">', escapeHTML(node.nodeValue),
'</div>');
}
}
// ********************************************************************************************
function addEvent(object, name, handler)
{
if (document.all)
object.attachEvent("on"+name, handler);
else
object.addEventListener(name, handler, false);
}
function removeEvent(object, name, handler)
{
if (document.all)
object.detachEvent("on"+name, handler);
else
object.removeEventListener(name, handler, false);
}
function cancelEvent(event)
{
if (document.all)
event.cancelBubble = true;
else
event.stopPropagation();
}
function onError(msg, href, lineNo)
{
var html = [];
var lastSlash = href.lastIndexOf("/");
var fileName = lastSlash == -1 ? href : href.substr(lastSlash+1);
html.push(
'<span class="errorMessage">', msg, '</span>',
'<div class="objectBox-sourceLink">', fileName, ' (line ', lineNo, ')</div>'
);
logRow(html, "error");
};
function onKeyDown(event)
{
if (event.keyCode == 123)
toggleConsole();
else if ((event.keyCode == 108 || event.keyCode == 76) && event.shiftKey
&& (event.metaKey || event.ctrlKey))
focusCommandLine();
else
return;
cancelEvent(event);
}
function onSplitterMouseDown(event)
{
if (isSafari || isOpera)
return;
addEvent(document, "mousemove", onSplitterMouseMove);
addEvent(document, "mouseup", onSplitterMouseUp);
for (var i = 0; i < frames.length; ++i)
{
addEvent(frames[i].document, "mousemove", onSplitterMouseMove);
addEvent(frames[i].document, "mouseup", onSplitterMouseUp);
}
}
function onSplitterMouseMove(event)
{
var win = document.all
? event.srcElement.ownerDocument.parentWindow
: event.target.ownerDocument.defaultView;
var clientY = event.clientY;
if (win != win.parent)
clientY += win.frameElement ? win.frameElement.offsetTop : 0;
var height = consoleFrame.offsetTop + consoleFrame.clientHeight;
var y = height - clientY;
consoleFrame.style.height = y + "px";
layout();
}
function onSplitterMouseUp(event)
{
removeEvent(document, "mousemove", onSplitterMouseMove);
removeEvent(document, "mouseup", onSplitterMouseUp);
for (var i = 0; i < frames.length; ++i)
{
removeEvent(frames[i].document, "mousemove", onSplitterMouseMove);
removeEvent(frames[i].document, "mouseup", onSplitterMouseUp);
}
}
function onCommandLineKeyDown(event)
{
if (event.keyCode == 13)
evalCommandLine();
else if (event.keyCode == 27)
commandLine.value = "";
}
//addEvent(window, "error", onError);
window.onerror = onError;
addEvent(document, isIE || isSafari ? "keydown" : "keypress", onKeyDown);
if (document.documentElement.getAttribute("debug") == "true")
toggleConsole(true);
})();
}PS: Press "F12" to make the console appear
4 April : Update :
- Compatibility with the "BackCompat render system"
- Grow the page when the console appear to be able to scroll down to the end of the page
- Some fixes
Last edited by FremyCompany (04-04-2007 11:25:35)
Offline
That's Great!
Offline
Thank you.
PS:
Another project (with an ActiveX, such IE7Pro) already propose a similar solution : Companion.JS (=CJS).
But the look are currently minder beautyfull (this is a 0.1 BETA version)
Offline
seems a litte buggy... I think it needs more improvements
Offline
skaue wrote:
seems a litte buggy... I think it needs more improvements
What is the problem ?
I've updated the script today because there had a problem with some site that IE render as "BackCompat".
==> BackCompat doesn't understand the "fixed" position ==> Console not good positioned
===> I've found a solution with setExpression IE Method
I've solved some little bugs, too
==> Try the new build and say if yours bugs are always present
Last edited by FremyCompany (04-04-2007 08:28:34)
Offline
re-Updated
Offline
FremyCompany wrote:
skaue wrote:
seems a litte buggy... I think it needs more improvements
What is the problem ?
Well, one thing i noticed is some weird behaviour when resizing the debugger-window. You can drag the border to test this. Havent testet latest version yet.
Offline
Normally the lastest build should not have this bug... But if you can verrify by your way, it seems better
Offline
New version availlable !
Last edited by FremyCompany (20-05-2007 11:25:21)
Offline
Somebody tested it with Chrome?
http://dev.chromium.org/developers/desi … er-scripts
I'm pressing F12 and nothing happens.
Any suggestion how to use it?
Offline
That Userscript plug-in system only works with FF Userscripts, not IE Userscripts. In order for the script to work it will need to be both compatible with the FF userscript engine (which I'm pretty certain this isn't), and have the filename changed to "whatever".user.js .
Offline