Ответы пользователя по тегу CSS
  • Как веб-разработчикам обеспечить хорошую производительность CSS на устройствах начального уровня?

    @rPman
    Совет. Смартфоны и планшетники из mid-end и low-end (самые дешевые или 3-5 летней давности) по производительности сравнимы с десктопными компьютерами 10-летней давности или даже раньше

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

    Можно использовать пессочницы типа debian noroot/termux/... которые позволяют поставить xorg сервер на android и запускать десктопные приложения без особых ограничений (поддержка ускорителя с оговорками но полагаю если речь и рендерере css и svg то тут все сравнимо), это не виртуализация, а нативный запуск приложений (соответственно arm архитектуры).
    Ответ написан
    Комментировать
  • Как Python и Selenium заставить найти текст?

    @rPman
    Тестируй css селекторы в отладочной консоли браузера, используя, либо штатный querySelector('xxx'), либо, при наличии, jquery $('xxx'). Используй встроенный генератор css селектора (правая кнопка на элементе, копировать,...)
    Ответ написан
    1 комментарий
  • Почему гаснет экран смартфона при просмотре видео?

    @rPman
    Если я верно понимаю ситуацию, некоторое время назад (год или два вроде бы) android обновили политику автоматического отключения экрана и меньше стало зависеть от браузера. Смотрите в настройках браузера, ищите настройки сна android (зависят от вендора)
    Ответ написан
    Комментировать
  • Почему не срабатывают скрипты после XMLHttpRequest запроса?

    @rPman
    console.log(xhr.status) перед if-ом, проверь, возможно у тебя твой бакэнд возвращает не 200
    а еще в отладочной консоли и networks браузера смотри, если ошибки там про это будет написано
    Ответ написан
    1 комментарий
  • Как запустить чужой проект веб-приложения с GitHub на своем компьютере?

    @rPman
    При открытии html локально javascript отключается (или лимитируется, точно не разбирался), сделано это чтобы открывая злонамеренный html не получить проблемы.

    Достаточно выложить файлы этого проекта в любой веб север, хоть однострочник от php (php -S 127.0.0.1:8080) и открыть этот адрес в браузере - все работает
    Ответ написан
    Комментировать
  • На картинках много маленького текста, как сделать чтобы он хорошо читался на телефонах?

    @rPman
    Потрясающий вопрос (очень мало информации), дам капитанский ответ - сделать текста поменьше а шрифт побольше?

    С чужими картинками сложнее, до невозможности, иначе бы не существовало проблемы чтения pdf с маленького экрана.
    В частных случаях можно буквально распознать текст, подобрать текстуры (даже нейронки для этого есть, начиная с фотошопа и кончая stable diffusion inpaint) и переформатировать с новыми размерами и шрифтами.

    Еще можно поиграть с подменой цветовой гаммы и контрастностью, прогнать части или все изображения фильтрами sharpen и т.п. в общем творческий процесс.
    Ответ написан
    Комментировать
  • Сайт полностью прогружает стили только в режиме инкогнито, как исправить?

    @rPman
    у тебя на стилях твоих сервер выдает хеадер
    cache-control max-age=31536000
    expires Mon, 25 Dec 2023 17:55:13 GMT
    логично что все закешировалось и отдает новую версию только на новых машинах или в приватном режиме (там кеш чистится по закрытию страницы, ибо это использовалось для деанонимизации)

    это классическая проблема и решается в простом виде добавлением к имени файла какого то идентификатора, определяемого версией файла (например дата или хеш файла) например так main.css?i=123123

    p.s. лучше меняй сразу имя файла на main.123123.css, так ошибки легче будет отловить (если где то забудешь изменить ссылку)

    т.е. везде в твоем коде сайта у тебя должна быть определена логика формирования этой ссылки, либо, если сайт - статичные странички, перед выкладыванием в продакшен заменой ссылок на нужные простым скриптом
    Ответ написан
    1 комментарий
  • Как сделать автоматическую дополняемую страницу?

    @rPman
    Правильно - websocket

    Это штатный инструмент, чтобы сервер смог передать данные на клиент, не по его запросу а по собственной инициативе.

    Требуется на сервере установить (реализовать в коде) websocket server, благодаря готовым библиотекам это очень просто, гуглить к примеру ReactPHP websocket (реакт - асинхронный фреймворк, добавляет асинхронные фичи, за которые полюбили nodejs), на нем вообще можно реализовать полноценный веб сервер (но nginx все равно рекомендуется ставить на выходе в мир как прокси) которые и обычные http rest запросы примет и websocket соединения подержит, да еще и раз в 10000 быстрее будет (я про сравнение типовых подходов без особых оптимизаций и кешировании), ведь приложение в этом случае не закрывается на каждый запрос а значит многое можно держать в памяти как обычные переменные (а не 100500 прослоек вида мемкеш)

    p.s. есть еще устаревшая long pooling технология, когда вместо websocket открывается обычный http rest запрос, но на сервере он не закрывается сразу, периодически выдавая в поток допустим 1 символ пробела (крутя в цикле банальный sleep и проверку базы данных) чтобы по таймауту не закрылся, а по появлению на сервере нужных данных, отправлять их как обычно тем же json-ом. Клиент же сразу как этот запрос завершается должен тут же его снова отправить. Этот подход не потребует что то менять на сервере но считается быдлокодом.
    Ответ написан
    Комментировать
  • Нужен совет опытных WEB разработчиков?

    @rPman
    Самый неправильный способ обучения - с конца. Это очень неэффективно если не бессмысленно, изучать программирование непоследовательно.

    Смотреть как другие решают проблемы может помочь только в одном случае, если ты хочешь посмотреть как именно твою задачу решили другие, и максимально полезно это будет только если понимания именно этих действий, которые выполняет другой человек, тебе не хватает, что само собой нереально, обычно человек не знает больше (а значит достаточно если что то будет непонятно хотя бы на одном шаге, дальше смотреть бесполезно) либо наоборот знает больше чем автор видео, а значит смотреть то что уже знаешь - лишняя трата времени.

    Веб технологии - одни из самых сложных технологий нашего времени, и включают в себя сразу кучу всего, что нужно знать и понимать. То что благодаря готовым фреймворкам и конструкторам новички могут создавать крутые поделки даже не понимая что они делают, не поможет им развиваться.

    Советую изучать с низов, самостоятельно, чтобы было понимание каждого шага, всего что происходит.
    * операционные системы, процессор и многопоточность, сети,...
    глубоко изучать это не требуется но базовые понимания нужны чтобы не получать медленное приложение только потому что не знал что каждый твой запрос в tcp это 'туда-сюда', и это медленно (десятки миллисекунд), что одновременно два человека пытающиеся что то изменить на сайте нужно разруливать чтобы не было конфликтов и т.п.
    * бакэнд и фронтэнд
    буквально что значит запрос и генерация ответа, какие бывают способы организации этого бакэнда (http rest и к примеру websocket), не понимание разницы между бакэндом и фронтэндом у новичков рождает абсурдные вопросы как из javascript изменить переменную php (и наоборот)... в чем разница между генерацией страницы на сервере и в браузере.
    * html, css,..
    верстка и дизайн, отдельный мир браузерных стандартов, исторических наслоений,. когда стоит применять фреймы, почему шрифты по разному выглядят, разные устройства и размеры экранов, разные способы взаимодействия (сенсорный экран, мышь, клавиатура)...
    * базы данных
    еще более огромный мир атомарных транзакций, индексов, нормальных форм и прочего
    * девопс
    без умения выбрать инструмент, настроить тулчейны, среду разработки, среду исполнения (веб сервер), настроить бакапы и прочее пытаться что то разрабатывать это как в слепую гулять по лесу, будешь постоянно на ветки натыкаться
    ...
    это я еще про системную аналитику не сказал, обычно прежде чем что то создавать, нужно продумать как это все делать, что такое технический долг и т.п., а еще есть тестирование, обслуживание, работа с отказами (сервер сдох, база упала, как все восстановить), обновление на живую и прочие веселья

    без понимания всего этого, даже поверхностного, будешь натыкаться на огромные дыры в разработке.
    Ответ написан
    7 комментариев
  • Возможно ли открыть ссылку не в браузере instagram, а сразу в браузере смартфона?

    @rPman
    Сделать это обычно нельзя, так как является целью разработчиков таких приложений.
    для пользователей - осторожно!
    браузер в приложениях не настоящий браузер, приложение может иметь полный доступ к тому что открывается внутри, доступ к логинам паролям куки и т.п. Эта приватная информация и может быть целью разработчика приложений, как и другая, которую дает android, ради нее разработчики принудительно загоняют пользователей в мобильные приложения, уменьшая функционал web

    собственно сама эта возможность понижает надежность использования смартфонов на порядок

    Максимум можно найти что то типа поделиться, откроется системное меню выбора приложений, в которые отправить ссылку и там выбрать браузер.
    Ответ написан
    Комментировать
  • Как нарисовать линии при помощи инспектора поверх iframe?

    @rPman
    в существующий нельзя (если он на твоем домене, то доступ есть), но поверх него можно, координаты iframe известны, рисуй поверх него прозрачный canvas или svg и на нем уже что хочешь рисуй
    Ответ написан
    Комментировать
  • Картинки не пропорциональны, когда запускаю проект на Windows. Как сделать так чтобы картинки отображались нормально?

    @rPman
    Проблема явно в процессе сборки чем именно и как она производиться?

    Скопируй рядом в разные каталоги разные сборки и сравни чем они отличаются,
    Ответ написан
    Комментировать
  • Как лучше и проще организовать на сайте RealTime notification?

    @rPman
    современное решение - websocket (позволяет серверу слать сообщения веб-клиентам)

    поддерживается всеми браузерами, есть огромное количество реализаций сервера, в т.ч. на php (рекомендую reactphp асинхронный, на нем же и сам http бакэнд делать нормально, а nginx снаружи проксирует запросы)
    Ответ написан
    Комментировать
  • Выполнения display: none с задержкой в 2 секунды. Как это сделать?

    @rPman
    посмотри как тут сделали, fade анимация длиной нужное время, где на 99% отключается видимость, приделай к этому реакцию на клик
    Ответ написан
    Комментировать
  • Кроссбраузерность верстки на устройствах 2014 года должна ли быть в 2022 году?

    @rPman
    только при должной мотивации и явной необходимости (например это ЦА проекта)
    процент пользователей с такими устройствами недостаточно большой, чтобы делать это безусловно
    Ответ написан
  • Как скопировать числа из кода и вставить в код, но в iframe?

    @rPman
    Если фрейм на том же домене что и создавшее его окно, то получив элемент штатно getElemenById а затем получай его document вот так:
    var frameDocument = myFrame.contentDocument || myFrame.contentWindow.document

    Так же можно получить доступ к фрейму (точнее его winodow) если задать ему атрибут name с помощью:
    window.frames["имя фрейма"]
    и уже от полученного получить document

    Имея доступ к document, можно уже запрашивать любые элементы на странице и править их

    p.s. там много исторических наслоений от разных браузеров, советую протестировать выбранный способ, в т.ч. на мобильных

    p.p.s. если фрейм чужой, то доступа вы к нему иметь не можете (под вопросом домены третьего уровня, это вопрос исследования, мало ли как браузеры это реализуют), так как иначе это будет страшнейшая дыра и доступ злоумышленника к вашим личным кабинетам на сайтах.

    Полный доступ к содержимому фреймов имеют браузерные плагины, или к примеру твой собственный браузер на базе готовых компонент
    Ответ написан
  • Как избавиться от полосы внизу веб-страницы в chrome?

    @rPman
    Проверьте что у вас действительно google chrome а не левые с рекламой, проверьте работу без плагинов, возможно какой то из них косячит
    Ответ написан
    3 комментария
  • Какой размер видео файла следует использовать на сайте?

    @rPman
    Начинать надо с изучения целевой аудитории сайта, анализируете их скорость и возможности, и исходя из этой аналитики делайте выводы.

    ЗЫ пожалуйста, не надо видео фона, это нахрен никому не нужно кроме заказчика для вау эффекта, а страдать будут остальные 99% пользователей.
    Ответ написан
  • Как блокировать произвольные теги в uBlock Origin?

    @rPman
    попробуйте css селектор :not(div)
    например
    site.ru##div > :not(div) > div
    Ответ написан
    1 комментарий
  • Куда девается картинка в Chrome?

    @rPman
    Вот и первые ласточки подошли - возможно это встроенный блокировщик рекламы в гуглхроме, по умолчанию.
    Ответ написан
    2 комментария