demo1.html 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, viewport-fit=cover">
  6. <title>vConsole/Demo1</title>
  7. <link href="./lib/weui.min.css" rel="stylesheet"/>
  8. <link href="./lib/demo.css" rel="stylesheet"/>
  9. <script src="./lib/zepto.min.js"></script>
  10. <script src="./lib/zepto.touch.min.js"></script>
  11. <!-- 引入vConsole的JS库 -->
  12. <script src="../dist/vconsole.min.js"></script>
  13. </head>
  14. <body ontouchstart>
  15. <div class="page">
  16. <h1 class="page_title">Demo 1</h1>
  17. <div class="weui_text_area">
  18. <p class="weui_msg_desc">点击下面的按钮,即可打印 log。<br/>点击右下角按钮,即可查看 log。</p>
  19. </div>
  20. <a href="javascript:;" class="weui_btn weui_btn_primary js_btn_log" data-type="log">普通日志(log)</a>
  21. <a href="javascript:;" class="weui_btn weui_btn_primary js_btn_log" data-type="info">信息日志(info)</a>
  22. <a href="javascript:;" class="weui_btn weui_btn_primary js_btn_log" data-type="debug">调试日志(debug)</a>
  23. <a href="javascript:;" class="weui_btn weui_btn_primary js_btn_log" data-type="warn">警告日志(warn)</a>
  24. <a href="javascript:;" class="weui_btn weui_btn_primary js_btn_log" data-type="error">报错日志(error)</a>
  25. <a href="javascript:;" class="weui_btn weui_btn_default js_btn_log_obj">打印Object</a>
  26. <a href="javascript:;" class="weui_btn weui_btn_default js_btn_trigger_error">触发JS Error</a>
  27. <a href="javascript:;" class="weui_btn weui_btn_default js_btn_log_sys">打印到系统面板</a>
  28. <a href="javascript:;" class="weui_btn weui_btn_default js_btn_ajax_get">发起AJAX(GET)</a>
  29. <a href="javascript:;" class="weui_btn weui_btn_default js_btn_ajax_post">发起AJAX(POST)</a>
  30. <a href="javascript:;" class="weui_btn weui_btn_default js_btn_clear">清除日志</a>
  31. <a href="javascript:;" class="weui_btn weui_btn_warn js_btn_hideswitch">隐藏按钮</a>
  32. <a href="javascript:;" class="weui_btn weui_btn_warn js_btn_destroy">销毁vConsole</a>
  33. </div>
  34. <div class="weui_toptips weui_notice" id="js_tips">已打印log</div>
  35. </body>
  36. <script>
  37. // 初始化vConsole
  38. window.vConsole = new window.VConsole({
  39. defaultPlugins: ['system', 'network', 'element', 'storage'], // 可以在此设定要默认加载的面板
  40. maxLogNumber: 1000,
  41. // disableLogScrolling: true,
  42. onReady: function() {
  43. console.log('vConsole is ready.');
  44. },
  45. onClearLog: function() {
  46. console.log('on clearLog');
  47. }
  48. });
  49. console.info('欢迎使用 vConsole。vConsole 是一个由微信公众平台前端团队研发的 Web 前端开发者面板,可用于展示 console 日志,方便开发、调试。');
  50. $('.js_btn_log').on('tap', function(e) {
  51. var type = $(this).data('type');
  52. console[type](type); // 例如,console.log(type)
  53. showTips();
  54. });
  55. $('.js_btn_log_obj').on('tap', function(e) {
  56. var obj = {
  57. 'foo': 'bar',
  58. 'obj': {'bool': true},
  59. 'arr': [9, 8, 7],
  60. 'tips': 'JS对象可以折叠展示'
  61. };
  62. console.log(obj);
  63. showTips();
  64. });
  65. $('.js_btn_trigger_error').on('tap', function(e) {
  66. showTips();
  67. var err = undefined;
  68. err.a = 1;
  69. });
  70. $('.js_btn_log_sys').on('tap', function(e) {
  71. // 输出到系统面板
  72. console.log('[system]', '当前时间戳:', (+new Date()));
  73. showTips();
  74. });
  75. $('.js_btn_ajax_get').on('tap', function(e) {
  76. // 发起一个AJAX
  77. $.get('ajax.php', { id: Math.random(), action: 'Get' }, function(resp) {
  78. console.log(resp);
  79. });
  80. showTips();
  81. });
  82. $('.js_btn_ajax_post').on('tap', function(e) {
  83. // 发起一个AJAX
  84. $.post('ajax.php', { id: Math.random(), action: 'Post' }, function(resp) {
  85. console.log(resp);
  86. });
  87. showTips();
  88. });
  89. $('.js_btn_clear').on('tap', function(e) {
  90. console.clear();
  91. });
  92. $('.js_btn_hideswitch').on('tap', function(e) {
  93. var that = this;
  94. if ($(this).hasClass('weui_btn_disabled')) {
  95. return false;
  96. }
  97. $(this).addClass('weui_btn_disabled');
  98. window.vConsole.hideSwitch();
  99. var count = 6;
  100. var cb = function() {
  101. count--;
  102. if (count == 0) {
  103. window.vConsole.showSwitch();
  104. $(that).removeClass('weui_btn_disabled');
  105. $(that).html('隐藏按钮');
  106. clearInterval(timer);
  107. return;
  108. }
  109. $(that).html('隐藏按钮(' + count + ')');
  110. }
  111. cb();
  112. var timer = setInterval(cb, 1000);
  113. });
  114. $('.js_btn_destroy').on('tap', function(e) {
  115. if ($(this).hasClass('weui_btn_disabled')) {
  116. return false;
  117. }
  118. $('.weui_btn').addClass('weui_btn_disabled');
  119. window.vConsole.destroy();
  120. $(this).html('刷新页面以重载vConsole');
  121. });
  122. // 用于页面内展示顶部tips
  123. var tipsTimer;
  124. function showTips() {
  125. tipsTimer && clearTimeout(tipsTimer);
  126. $('#js_tips').show();
  127. tipsTimer = setTimeout(function() {
  128. $('#js_tips').hide();
  129. }, 1500);
  130. }
  131. </script>
  132. </html>