The OpenNET Project / Index page

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



"Раздел полезных советов: Как автоматически отключить закрепл..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Как автоматически отключить закрепл..."  +1 +/
Сообщение от auto_tips (??), 11-Май-18, 11:18 
Последнее время дизайнеры всё чаще используют CSS-свойство "position: fixed" для закрепления шапки и футера, что создаёт дискомфорт при просмотре страниц и съедает драгоценное экранное пространство на широкоформатных экранах.

Для автоматического отключения "position: fixed"  можно использовать дополнение [[https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/ greasemonkey]]
вместе с [[https://gist.github.com/vbuaraujo/bddb3b93a0b2b7e28e1b простым скриптом]]  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-sc...
   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-дополнение [[https://addons.mozilla.org/en-US/firefox/addon/unstickall/ unstickall]], которое позволяет отключить закрепление любого блока через клик на нём.


URL:
Обсуждается: http://www.opennet.ru/tips/info/3064.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как автоматически отключить закреплённые шапки на сайтах в F..."  +1 +/
Сообщение от Аноним (-), 11-Май-18, 11:18 
>  // ==/UserScript==

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Как автоматически отключить закреплённые шапки на сайтах в F..."  +/
Сообщение от Andrey Mitrofanov (?), 11-Май-18, 11:38 
>>  // ==/UserScript==
> лицензия какая?

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

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

7. "Как автоматически отключить закреплённые шапки на сайтах в F..."  +/
Сообщение от Аноним (-), 16-Май-18, 10:21 
wtfpl
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Как автоматически отключить закреплённые шапки на сайтах в F..."  +/
Сообщение от Аноним (-), 11-Май-18, 18:55 
Есть ещё некоторые ополоумевшие от своего величия вендоры, которые иной раз 80% окна нескрываемым анонсом покрывают,я в таких случаях адблоком делаю select element to hide
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Как автоматически отключить закреплённые шапки на сайтах в F..."  +1 +/
Сообщение от Аноним (-), 12-Май-18, 04:26 
Вообще-то для таких целей есть сайты типа https://greasyfork.org
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Как автоматически отключить закреплённые шапки на сайтах в F..."  +/
Сообщение от A (?), 13-Май-18, 07:18 
Еще бы яндекс-директ научиться прятать, а то они взяли моду все ID элементов менять постоянно, т.е. еще поискать надо, что прятать.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Как автоматически отключить закреплённые шапки на сайтах в F..."  +/
Сообщение от Аноним (-), 15-Май-18, 15:39 
NoScript все это паскудство рубит более-менее успешно.
Правда, и кое-что нужное при этом под нож идет, но меня лично больше выбешивает их реклама, так что доволен...
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

8. "Как автоматически отключить закреплённые шапки на сайтах в F..."  +/
Сообщение от Аноним (-), 20-Май-18, 19:57 
> NoScript все это паскудство рубит более-менее успешно.

я в адблок всю эту голландскую организацию добавил, чего и всем рекомендую

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

10. "Как автоматически отключить закреплённые шапки на сайтах в F..."  +/
Сообщение от Аноним (-), 21-Май-18, 13:51 
Покажи правила, если не жалко...
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

11. "Как автоматически отключить закреплённые шапки на сайтах в F..."  +/
Сообщение от Graff (?), 24-Май-18, 14:39 
с mMatrix так же работает, вместе с баннерами режется полезный контент, т.к. ушлые сайтовладельцы засовывают в один скрипт загрузку баннеров и загрузку чего-то полезного, там, где это критично приходится терпеть
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

12. "Как автоматически отключить закреплённые шапки на сайтах в F..."  +/
Сообщение от Аноним (12), 31-Июл-18, 13:35 
Практика довольно частая сейчас и говорит о том, что классические блокировщики постепенно уходят в прошлое. Нужен более глубокий подход к определению элемента, чем в CSS. Например - видеть через фильтр все свойства, использовать в ID полноценные регулярные выражения, смотреть на структуру вокруг.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

13. "Как автоматически отключить закреплённые шапки на сайтах в F..."  +/
Сообщение от Аноним (12), 31-Июл-18, 13:41 
Вот что-то примерно подходящее: https://adblockplus.org/ru/filters#elemhide-emulation
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

14. "Как автоматически отключить закреплённые шапки на сайтах в F..."  +/
Сообщение от Аноним (12), 31-Июл-18, 13:44 
> Вот что-то примерно подходящее: https://adblockplus.org/ru/filters#elemhide-emulation

И ещё немного интересностей: https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#...

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема


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