LINUX.ORG.RU

Проиллюстрируй на живом примере в чем проблема, а то может и мне надо, а я не знаю. )

Лично мне, из описания темы ничего не понятно, хотя я давний и уверенный, надеюсь, пользователь этого браузера.

krasnh ★★★★★
()
Ответ на: комментарий от krasnh

Скажем glpi при добавлении комментария в заявку принудительно листает страницу на расположение блока нового комментария и не прекращает это «листание» пока js логика не придёт к выводу «мы долистали».

Т.е. это выглядит как-то так: нажимаю «добавить комментарий», пока оно думает я успеваю начать листать страницу вверх к примеру для процитировать ранее написанное, и тут оно начинает тянуть страницу вниз и если я параллельно всё ещё листаю вверх, то получается «перетягивание каната». Скорее неудобно что приходится пару секунд ждать каждый раз, но мне просто лень что-то с этим делать.

Сильно частный случай. Где-то ещё прям точно воспроизводимое найти не могу, но косвенно припоминаю что видел когда-то давно

Из беглой мысли наверное можно просто подменить js логику сайта собственной, возможно даже используя уже имеющийся у меня ublock, надо вчитаться в https://github.com/gorhill/uBlock/wiki/Resources-Library#general-purpose-scriptlets и в код самого сайта, но это не то чтобы «общее решение»

Flotsky ★★★
()
Ответ на: комментарий от Flotsky

s/uBlock/Violentmonkey

// ==UserScript==
// @name         Disable forced scrolling
// @match        *://example.com/*
// @run-at       document-start
// ==/UserScript==

(() => {
    const noop = () => {};

    Object.defineProperty(window, 'scrollTo', {
        value: noop,
        writable: false,
        configurable: false,
    });

    Object.defineProperty(window, 'scroll', {
        value: noop,
        writable: false,
        configurable: false,
    });

    Element.prototype.scrollIntoView = noop;
    Element.prototype.scrollTo = noop;
    Element.prototype.scroll = noop;
})();
gagarin0
()
Последнее исправление: gagarin0 (всего исправлений: 1)
Ответ на: комментарий от jsoncpp

Ты сильно невыспался, если теги и название темы даже не прочитал.

anonymous
()
Ответ на: комментарий от gagarin0

Я думал в about:config опция какая. Хотя может быть скриптом даже лучше - его можно кастомизировать, да и запускать только при необходимости из панели закладок например.

firkax ★★★★★
() автор топика

Хм. Я почему то всегда думал что это у меня просто мышь так сбоит …

anonymous
()
Ответ на: комментарий от firkax

да и запускать только при необходимости

ты документацию то почитай к violentmonkey, его можно через regex «натравить» только на определенные сайты/url задается это в комментах, в самом начале.

// ==UserScript==
// @include *
// @include https://www.google.com/*
// @include /\.com\.hk\//
// @exclude https://www.google.com/exact/url
// ==/UserScript==
gagarin0
()
Ответ на: комментарий от gagarin0

Я имел ввиду сделать закладку на урл вида javascript: и нажимать её при обнаружении проблем. Так и более гибко можно применять, и расширения ставить не потребуется (у меня например нет расширений для вставки js сейчас).

firkax ★★★★★
() автор топика
Ответ на: комментарий от firkax

ты violentmonkey то поставь, и попробуй скрипт, он не 100% защита от скролла, есть способ скролла который никак не запретить, к чему эти интересные сообщения на форуме пока ты не попробовал? там в том числе есть кнопка «запустить скрипт для этого сайта»

gagarin0
()
Ответ на: комментарий от gagarin0

Скрипт очевидно недоделан (он может привести к жору проца если сайт будет упрямо пытаться скроллить), его надо ещё доработать чтобы отдавать сайту в js тот скролл, который он хочет. И как именно его запускать я сам уж разберусь. За идею спасибо, но не надо советы в указы превращать.

firkax ★★★★★
() автор топика
Ответ на: комментарий от gagarin0

А хотя ладно, мне лень искать где js может узнавать текущий скролл и хранить его фейковое значение. Взял твой скрипт только переделав его в однострочник

javascript:(function(){var n=function(){},o=Object,w=window,e=Element.prototype;o.defineProperty(w,'scrollTo',{value:n,writable:!1,configurable:!1});o.defineProperty(w,'scroll',{value:n,writable:!1,configurable:!1});e.scroll=e.scrollTo=e.scrollIntoView=n;})()
добавил кнопку на панель закладок, работает успешно, жор проца вроде не провоцирует (но у других сайтов, более настойчивых, может же оказаться).

firkax ★★★★★
() автор топика
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария