Ирония ситуации, что именно этот пример дискурса вынудил отключить эту функцию, не ускользает от внимания. Осознали ли те, кто здесь у власти, её несовершенство?
Когда вы это делаете, чтобы улучшить производительность прокрутки и рендеринга, Discourse удаляет более ранние посты из DOM. Поэтому невозможно «загрузить всё» в большой теме.
Вот почему у нас есть собственная реализация ctrl+f, и мы используем её только для длинных тем, которые невозможно загрузить целиком.
Мне кажется, вы просто ищете оправдания. Похищение нативного функционала должно быть категорически запрещено. 99,9% сайтов в интернете уважают это правило. Почему Discourse — исключение?
За эти годы в разных темах накопилось огромное количество информации по этому вопросу. Если вы воспользуетесь поиском, то сможете увидеть прошлые обсуждения.
GitHub, Google Документы/Презентации и т.д. также перехватывают это, и я подозреваю, что это полезно для производительности здесь, и именно поэтому это делается.
GitHub, Google Docs/Slides и другие тоже перехватывают это, и я подозреваю, что это сделано для улучшения производительности здесь, и именно поэтому это так реализовано.
Отличная возможность для Discourse стать лидером в области невмешательства в нативный функционал!
Вы можете указать пальцем на крупных игроков и показать им, кто здесь главный.
Какую комбинацию клавиш вы бы порекомендовали пользователям, которые ожидают, что Ctrl+F найдёт нужный им пост в теме, даже если этот пост не отображается в браузере? Казалось бы, логично ожидать, что Ctrl+F найдёт нужный пост в теме, но это не так. Какая клавиша выполняет функцию «найти пост в этой теме, даже если браузер не может его найти»? Не является ли то, что Ctrl+F не находит пост в текущей теме, нарушением ожиданий пользователя?
Переопределение стандартных функций браузера с помощью встроенного поиска Discourse может вызывать раздражение и казаться неудобным для пользователей, которые ожидают единообразия сочетаний клавиш на разных сайтах. Это нарушает их рабочий процесс и усложняет доступность, делая поиск внутри страницы более затруднительным.
Более удачным подходом может быть предоставление пользователям возможности выбрать предпочитаемый метод поиска, сохраняя по умолчанию функции браузера. Для начала предложите визуальную иконку, обозначающую поиск внутри Discourse.
Я думаю, что Ctrl+F — это стандартная функция «найти текст на странице» в браузере, которую, на мой взгляд, лучше не переопределять.
Для поиска в рамках Discourse пользователи могут нажать на значок лупы (вероятно, для большинства пользователей, которые не используют горячие клавиши). В Discourse уже есть горячая клавиша «/» для тех, кто использует сочетания клавиш.
Интересно, что на моем Chromebook эта функция перехватывает как Ctrl+Alt+F, так и «/».
Если вы решите переопределить, обязательно добавьте текст вроде: «нажмите Ctrl+F еще раз, чтобы использовать встроенную функцию поиска на странице».
Шутки в сторону: я ценю работу разработчиков, но надеюсь, что они смогут внедрить изменения, чтобы сделать Discourse более доступным для обычных пользователей.