jquery.debug.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. // global debug switch ... add DEBUG = true; somewhere after jquery.debug.js is loaded to turn debugging on
  2. var DEBUG = false;
  3. // shamelessly ripped off from http://getfirebug.com/
  4. // if (!("console" in window) || !("firebug" in console)){
  5. //var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
  6. // create the logging div
  7. // jQuery(document).ready(
  8. // function(){
  9. // $(document.body).append('<div id="DEBUG"><div class="trigger"><span>OPEN/CLOSE</span></div><div class="output"><ol></ol></div></div>');
  10. // $("#DEBUG").css({
  11. // 'position':'fixed',
  12. // 'bottom':'0.5em',
  13. // 'right':'0.5em',
  14. // 'padding':'0',
  15. // 'width':'33%',
  16. // 'height':'auto',
  17. // 'background-color':"transparent",
  18. // 'opacity': '0.9',
  19. // 'overflow':'hidden',
  20. // 'border':'2px #000 solid'
  21. // }).hide();
  22. //
  23. // $(".output", "#DEBUG").css({'overflow':'auto'}).height($(window).height()*.5+'px').hide();
  24. //
  25. // $('span', '#DEBUG .trigger').css({'fontSize':'0.567em','color':'#fff','textAlign':'center'});
  26. //
  27. // $('.trigger', '#DEBUG').css({'backgroundColor':'#000', 'cursor':'pointer'}).mouseup(function(){
  28. // $('.output', '#DEBUG').slideToggle();
  29. // });
  30. // }
  31. // );
  32. // attach a function to each of the firebug methods
  33. // window.console = {};
  34. // for (var i = 0; i < names.length; ++i){
  35. // window.console[names[i]] = function(msg){
  36. // $('#DEBUG ol').append( '<li><span>' + msg + '</span></li>' );
  37. //
  38. // $('#DEBUG').css({
  39. // 'display':'block'
  40. // });
  41. //
  42. // $('#DEBUG li').css({
  43. // "background-color":"#fff",
  44. // "padding":"5px",
  45. // "height":"auto",
  46. // "color":"#000",
  47. // "font-size":"11px",
  48. // "font-family":"Monaco",
  49. // "line-height":"1.2",
  50. // "border-bottom": "1px solid #000"
  51. // });
  52. //
  53. // /* $('#DEBUG ol').css({
  54. // "bottom": "0"
  55. // });
  56. // */
  57. // $('#DEBUG span.object').css({
  58. // "color":"blue"
  59. // });
  60. //
  61. // $('#DEBUG span.string').css({
  62. // "color":"red"
  63. // });
  64. //
  65. // var li = $('#DEBUG li:last');
  66. // $('#DEBUG').animate({scrollTop: li.offset().top }, 10);
  67. //
  68. // }
  69. // }
  70. // }
  71. /*
  72. * debug
  73. * Simply loops thru each jquery item and logs it
  74. */
  75. jQuery.fn.debug = function(msg) {
  76. return this.each(function(){
  77. $.log(msg, this);
  78. });
  79. };
  80. /*
  81. * log
  82. * Send it anything, and it will add a line to the logging console.
  83. * If firebug is installed, it simple send the item to firebug.
  84. * If not, it creates a string representation of the html element (if message is an object), or just uses the supplied value (if not an object).
  85. */
  86. jQuery.log = function(msg, obj){
  87. // only if debugging is on
  88. if( window.DEBUG ){
  89. var message = msg != null ? msg : '';
  90. var object = obj;
  91. message += object != null && message != '' ? " : " : "";
  92. try{
  93. if( typeof( object) == 'object' ){
  94. console.log("%s%o", message, object);
  95. }else{
  96. console.log("%s", message);
  97. }
  98. }catch(e){
  99. // alert(message)
  100. }
  101. }else{
  102. // if debbugin is on hide DEBUG div if existing
  103. // $("#DEBUG").hide();
  104. }
  105. };