JSFiddle buttons

Hide sidebar, maximize views

当前为 2022-06-26 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name JSFiddle buttons
  3. // @description Hide sidebar, maximize views
  4. // @version 1.0.0
  5. // @namespace BP
  6. // @author Benjamin Philipp <dev [at - please don't spam] benjamin-philipp.com>
  7. // @include https://jsfiddle.net/*
  8. // @require http://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js
  9. // @require https://gf.qytechs.cn/scripts/447081-bp-funcs/code/BP%20Funcs.js
  10. // @run-at document-body
  11. // @noframes
  12. // @grant GM_addStyle
  13. // @connect *
  14. // ==/UserScript==
  15.  
  16. /* jshint loopfunc: true, -W027 */
  17. /* eslint-disable curly, no-redeclare */
  18. /* eslint no-trailing-spaces: off */
  19. /* globals $, GM_info, GM_setValue, GM_getValue, GM_xmlhttpRequest, GM_addStyle, escape, uneval, unsafeWindow, BPLogger_default, log, getParam, waitFor */
  20.  
  21. var logger = BPLogger_default();
  22.  
  23. function main(){
  24. GM_addStyle(`
  25. #sidebar{
  26. position: relative;
  27. }
  28. .sidebar-hidden #sidebar{
  29. width: 0;
  30. }
  31. .sidebar-hidden #sidebar section{
  32. display: none;
  33. }
  34. #layout-container.sidebar-hidden{
  35. grid-template-columns: 0px 1fr;
  36. }
  37. .bp-toggle{
  38. position: absolute;
  39. right: 0;
  40. top: 0;
  41. padding: 10px 3px;
  42. z-index: 100;
  43. font-weight: 900;
  44. background: #1f2227;
  45. border: 1px solid #2c2f34;
  46. border-right: none;
  47. border-radius: 5px 0 0 5px;
  48. cursor: pointer;
  49. opacity: 0.5;
  50. }
  51. .sidebar-hidden #sidebar .bp-toggle{
  52. right: unset;
  53. left: 100%;
  54. border: 1px solid #2c2f34;
  55. border-left: none;
  56. border-radius: 0 5px 5px 0;
  57. }
  58. .bp-toggle:hover{
  59. opacity: 1;
  60. }
  61. #sidebar .bp-toggle::before{
  62. content: "<<";
  63. }
  64. .sidebar-hidden #sidebar .bp-toggle::before{
  65. content: ">>";
  66. }
  67. #editor.hasMax .panel{
  68. display: none;
  69. }
  70. #editor.hasMax .panel-v{
  71. display: none;
  72. width: 0%;
  73. }
  74. #editor.hasMax .panel-v.max{
  75. display: block;
  76. width: calc(100% - 1px) !important;
  77. position: absolute;
  78. }
  79. #editor.hasMax .panel.max{
  80. display: block;
  81. height: calc(100% - 1px) !important;
  82. width: calc(100% - 1px);
  83. position: absolute;
  84. z-index: 101;
  85. }
  86. .panel .bp-toggle{
  87. bottom: 0px;
  88. top: unset;
  89. padding: 5px;
  90. color: #fff;
  91. border: 1px solid #2c2f34;
  92. border-bottom: none;
  93. border-right: none;
  94. border-radius: 5px 0 0;
  95. }
  96. .panel .bp-toggle::before{
  97. content: "\\26F6";
  98. }
  99. `);
  100. waitFor("#sidebar", function(o){
  101. log("got sidebar");
  102. $("<div class='bp-toggle' title='Toggle Sidebar'></div>").appendTo(o).click(function(){
  103. log("clicked toggle");
  104. $("#layout-container").toggleClass("sidebar-hidden");
  105. });
  106. });
  107. waitFor({
  108. sel: "#editor .panel",
  109. cb: function(o){
  110. log("got panels", o);
  111. $("<div class='bp-toggle' title='Toggle Panel Maximize'></div>").appendTo(o).click(function(){
  112. var p = $(this).parent();
  113. p.toggleClass("max");
  114. p.parent().toggleClass("max");
  115. $("#editor").toggleClass("hasMax");
  116. $("body").resize();
  117. // log("clicked toggle", t, p);
  118. });
  119. },
  120. maxTries: -1
  121. });
  122. }
  123.  
  124. setTimeout(main, 0);

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址