plugin.html 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  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>Dev: Plugin</title>
  7. <link href="../example/lib/weui.min.css" rel="stylesheet"/>
  8. <link href="../example/lib/demo.css" rel="stylesheet"/>
  9. <script src="../dist/vconsole.min.js"></script>
  10. </head>
  11. <body ontouchstart>
  12. <div class="page">
  13. <a onclick="newTab()" href="javascript:;" class="weui_btn weui_btn_default">newTab</a>
  14. <a onclick="newTabWithTool()" href="javascript:;" class="weui_btn weui_btn_default">newTabWithTool</a>
  15. <a onclick="newGlobalToolButton()" href="javascript:;" class="weui_btn weui_btn_default">newGlobalToolButton</a>
  16. <a onclick="newTabUseJQuery()" href="javascript:;" class="weui_btn weui_btn_default">newTabUseJQuery</a>
  17. <a onclick="newTabUseDOM()" href="javascript:;" class="weui_btn weui_btn_default">newTabUseDOM</a>
  18. </div>
  19. </body>
  20. </html>
  21. <script>
  22. window.vConsole = new window.VConsole({
  23. maxLogNumber: 1000,
  24. // disableLogScrolling: true,
  25. onReady: function() {
  26. console.log('vConsole is ready.');
  27. },
  28. onClearLog: function() {
  29. console.log('on clearLog');
  30. }
  31. });
  32. function newTab() {
  33. console.info('newTab() Start');
  34. var tab = new window.VConsole.VConsolePlugin('tab1', 'Tab1');
  35. tab
  36. .on('init', function() { console.log(this.id, 'init'); })
  37. .on('renderTab', function(cb) {
  38. console.log(this.id, 'renderTab');
  39. cb('<div>I am ' + this.id+'</div>');
  40. })
  41. .on('ready', function() { console.log(this.id, 'ready'); })
  42. .on('show', function() { console.log(this.id, 'show'); })
  43. .on('hide', function() { console.log(this.id, 'hide'); })
  44. .on('showConsole', function() { console.log(this.id, 'showConsole'); })
  45. .on('hideConsole', function() { console.log(this.id, 'hideConsole'); });
  46. vConsole.addPlugin(tab);
  47. console.info('newTab() End');
  48. }
  49. function newTabWithTool() {
  50. console.info('newTabWithTool() Start');
  51. var tab = new vConsole.VConsolePlugin('tab2', 'Tab2');
  52. tab.on('renderTab', function(cb) {
  53. console.log(this.id, 'renderTab');
  54. cb('<div>I am ' + this.id+'</div>');
  55. })
  56. .on('addTool', function(cb) {
  57. console.log(this.id, 'addTool');
  58. cb([
  59. {
  60. name: 'Alert',
  61. global: false,
  62. onClick: function(e) {
  63. alert('I am a tool button!');
  64. }
  65. }
  66. ]);
  67. });
  68. vConsole.addPlugin(tab);
  69. console.info('newTabWithTool() End');
  70. }
  71. function newGlobalToolButton() {
  72. console.info('newGlobalToolButton() Start');
  73. var plugin = new vConsole.VConsolePlugin('plugin3', 'Plugin3');
  74. plugin.on('addTool', function(cb) {
  75. console.log(this.id, 'addTool');
  76. cb([
  77. {
  78. name: 'Global',
  79. global: true,
  80. onClick: function(e) {
  81. alert('I am a global tool button!');
  82. }
  83. }
  84. ]);
  85. });
  86. vConsole.addPlugin(plugin);
  87. console.info('newGlobalToolButton() End');
  88. }
  89. function newTabUseJQuery() {
  90. console.info('newTabUseJQuery() Start');
  91. var tab = new vConsole.VConsolePlugin('tab4', 'Tab4');
  92. var $html = $('<div><a href="javascript:;">Alert</a></div>');
  93. $html.find('a').click(function() {
  94. alert('OK');
  95. });
  96. tab.on('renderTab', function(cb) {
  97. cb($html);
  98. });
  99. vConsole.addPlugin(tab);
  100. console.info('newTabUseJQuery() End');
  101. }
  102. function newTabUseDOM() {
  103. console.info('newTabUseDOM() Start');
  104. var tab = new vConsole.VConsolePlugin('tab5', 'Tab5');
  105. var $elm = document.createElement('DIV');
  106. $elm.innerHTML = '<p>It works</p>';
  107. tab.on('renderTab', function(cb) {
  108. cb($elm);
  109. });
  110. vConsole.addPlugin(tab);
  111. console.info('newTabUseDOM() End');
  112. }
  113. </script>