Advertisement
Guest User

Untitled

a guest
Dec 19th, 2011
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.60 KB | None | 0 0
  1. // ==UserScript==
  2. // @name SmartScrollbar_mod.uc.js
  3. // @namespace http://d.hatena.ne.jp/Griever/
  4. // @include main
  5. // @version 0.0.4
  6. // @note encodeURIComponent を使うように修正
  7. // ==/UserScript==
  8. // thx! http://www.geocities.jp/adsldenet/past/sample.html
  9.  
  10. (function(){
  11. const HIDE_START = true;
  12. const HIDE_ALL = true; // falseならコンテンツの一番外側のスクロールバーのみ有効
  13. const HIDE_SCROLLBAR = false;
  14.  
  15. // Die fuenf 3px-Werte müssen gleich sein
  16.  
  17. var css = <![CDATA[
  18. html|html > scrollbar[orient="vertical"] > slider > thumb
  19. {
  20. max-width: 3px !important;
  21. min-width: 3px !important;
  22. }
  23.  
  24. html|html > scrollbar[orient="horizontal"] > slider > thumb
  25. {
  26. max-height: 3px !important;
  27. min-height: 3px !important;
  28. }
  29.  
  30. scrollbar[orient="vertical"]
  31. { min-width: 3px !important
  32. }
  33.  
  34. scrollbar ,
  35. scrollbar thumb
  36. { -moz-appearance: none !important
  37. }
  38.  
  39. html|html > scrollbar > slider > thumb
  40. {
  41. -moz-appearance: none !important;
  42. border: none !important;
  43. background-color: #0c6 !important; // Hier Farbe aendern
  44. }
  45.  
  46. html|html > scrollbar > scrollbarbutton,
  47. html|html > resizer
  48. {
  49. display: none !important;
  50. }
  51.  
  52. ]]>.toString();
  53.  
  54. if (HIDE_SCROLLBAR)
  55. css = 'html|html > scrollbar { visibility: collapse !important; }';
  56. var NS = '@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");';
  57. NS += '@namespace html url("http://www.w3.org/1999/xhtml");';
  58. css = NS + css;
  59.  
  60. if (HIDE_ALL)
  61. css = css.replace(/html\|html > /g, 'html|*:not(html|select) > ');
  62.  
  63. var sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
  64. var uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(css));
  65.  
  66. var p = document.getElementById('devToolsSeparator');
  67. var m = document.createElement('menuitem');
  68. m.setAttribute('label', "SmartScrollbar");
  69. m.setAttribute('type', 'checkbox');
  70. m.setAttribute('autocheck', 'false');
  71. m.setAttribute('checked', HIDE_START);
  72. p.parentNode.insertBefore(m, p);
  73.  
  74. m.addEventListener('command', command, false);
  75.  
  76. if (HIDE_START) {
  77. sss.loadAndRegisterSheet(uri,sss.AGENT_SHEET);
  78. }
  79.  
  80.  
  81. function command(){
  82. if (sss.sheetRegistered(uri, sss.AGENT_SHEET)){
  83. sss.unregisterSheet(uri, sss.AGENT_SHEET);
  84. m.setAttribute('checked', false);
  85. } else {
  86. sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
  87. m.setAttribute('checked', true);
  88. }
  89. }
  90.  
  91. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement