The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

Как автоматически отключить закреплённые шапки на сайтах в Firefox
Последнее время дизайнеры всё чаще используют CSS-свойство "position: fixed"
для закрепления шапки и футера, что создаёт дискомфорт при просмотре страниц и
съедает драгоценное экранное пространство на широкоформатных экранах.

Для автоматического отключения "position: fixed"  можно использовать дополнение
greasemonkey
вместе с простым скриптом  unfix-all-the-toolbars.user.js :


   // ==UserScript==
   // @name        unfix-all-the-toolbars
   // @description Removes "position: fixed" style from elements, unfixing "toolbars" and the such.
   // @namespace   http://inf.ufrgs.br/~vbuaraujo/
   // @include     *
   // @version     1
   // @grant       none
   // ==/UserScript==


   /* 
   Based on https://stackoverflow.com/questions/13696100/greasemonkey-script-to-make-fixed-positioned-elements-static
   2015-02-17: Original version.
   2016-05-01: Added the styleWidth threshold heuristic.
   The big problem here is we want to avoid unfixing *all* "position: fixed"
   elements, because some of them are fake popup windows which become quite
   unusable if you change them to "position: static". So we need some heuristic
   to distinguish "legitimate" fixed elements from gratuitous ones like navbars.
   */

   function numPixels(str) {
     if (str.endsWith("px"))
       return Number(str.slice(0, -2));
     else {
       console.log("unfix-all-the-toolbars: Computed width is not in pixels! " + width);
       return null;
     }
   }

  function unfixAll() {
     var bodyStyle = window.getComputedStyle(document.body);
     var pageWidth = numPixels(bodyStyle.width);
     var pageHeight= numPixels(bodyStyle.height);
     var toolbarWidthThreshold = 0.8 * pageWidth;
  
     Array.forEach(
       /* Assorted selection of likely fixed elements, to avoid querying all elements */
       document.querySelectorAll("h1, h2, ul, ol, li, div, nav, header, footer"),
       function (el) {
         var style = window.getComputedStyle(el);
         if (style.position === "fixed") {
           /* Avoid unfixing JavaScript popus like Twitter's "confirm retweet" window */
           if (style.display === "none" || style.visibility === "hidden") return;
           if (numPixels(style.width) < toolbarWidthThreshold) return;
        
           // Try to select the best replacement for 'fixed'. Still breaks lots of things, though.
          if (numPixels(style.bottom) === 0 && numPixels(style.top) > 0)
             el.style.position = "static";    // Use static for footers.
           else
             el.style.position = "absolute";
         }
      });
   }

   window.addEventListener("load", unfixAll);



Другим вариантом может стать Firefox-дополнение unstickall, которое
позволяет отключить закрепление любого блока через клик на нём.
 
11.05.2018
Ключи: firefox, css, position, fixed / Лицензия: CC-BY
Раздел:    Корень / Пользователю / Работа с Web и Ftp

Обсуждение [ RSS ]
 
  • 1.1, Аноним, 11:18, 11/05/2018 [ответить] [смотреть все]    [к модератору]
  • +1 +/
    >  // ==/UserScript==

    лицензия какая?

     
     
  • 2.2, Andrey Mitrofanov, 11:38, 11/05/2018 [^] [ответить] [смотреть все]    [к модератору]
  • +/
    >>  // ==/UserScript==
    > лицензия какая?

    КуритеТоварищПрапорщикНичьёL.

     
  • 2.7, Аноним, 10:21, 16/05/2018 [^] [ответить] [смотреть все]    [к модератору]
  • +/
    wtfpl
     
  • 1.3, Аноним, 18:55, 11/05/2018 [ответить] [смотреть все]     [к модератору]
  • +/
    Есть ещё некоторые ополоумевшие от своего величия вендоры, которые иной раз 80 ... весь текст скрыт [показать]
     
  • 1.4, Аноним, 04:26, 12/05/2018 [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Вообще-то для таких целей есть сайты типа https://greasyfork.org
     
  • 1.5, A, 07:18, 13/05/2018 [ответить] [смотреть все]    [к модератору]  
  • +/
    Еще бы яндекс-директ научиться прятать, а то они взяли моду все ID элементов менять постоянно, т.е. еще поискать надо, что прятать.
     
     
  • 2.6, Аноним, 15:39, 15/05/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    NoScript все это паскудство рубит более-менее успешно Правда, и кое-что нужное ... весь текст скрыт [показать]
     
     
  • 3.8, Аноним, 19:57, 20/05/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    я в адблок всю эту голландскую организацию добавил, чего и всем рекомендую... весь текст скрыт [показать]
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor