Задать вопрос
Ответы пользователя по тегу HTML
  • Как на HTML сделать поиск по сайту?

    @rPman
    spoiler
    Веб-технологии (те что обывателю в браузере открываются) по факту - одна из сложнейших технологий для изучения в мире, потому что состоит одновременно из несколько совершенно разных разделов IT и требует знаний сразу из нескольких областей.. да, на этот счет на создавали кучу готовых конструкторов и проектов, но используя их, особенно начинающему, настоятельно не рекомендуется, потому что обучаться будешь не веб-технологиям, а конкретно выбранным проектам-конструкторам, а главное воспринимать их будешь как черный ящик и если что то внутри не так/не работает, не будешь понимать что делать.

    Это создание интерфейса на базе html+css (верстка), это javascript (не обязательно но рекомендован, особенно если вам не нужно с поисковиками бодаться), это бакэнд, состоящий из веб сервера + приложения (популярно php, но есть и javascript и java и python и вообще на чем угодно) и базы данных (а значит понимание работы сетей, многопользовательского доступа, транзакций и т.п.).

    Выбирайте, где будет храниться индекс искомой информации а точнее проводиться сам поиск. Популярно - это делают на веб сервере, но если у вас полностью статический веб сайт (состояит из html файлов и все) то можно сделать и на клиенте в браузере, для этого нужно будет знать javascript (альтернативно vbscript и если совсем необычно - то xml+xslt, но это совсем все переделывать, потому что выворачивает на изнанку подход к разработке).

    Если информации мало, т.е. поиск по ней без создания индекса будет быстрым (десятки страниц) то код для реализации этого будет считанные несколько строк на php.

    Если делать поиск на клиенте, то необходимо будет собрать в каком либо виде (пусть и в виде константы на javascript, т.е. json) индекс - содержащий искомую информацию и ссылки на страницы, где она размещена, в том виде, в котором его удобно будет искать.

    Я очень очень давно видел очень странную реализацию поиска на стороне клиента, каждая страница содержала javascript метод, прописанный на onload, который проверял, что страница загружена во frame, и если да то проводил поиск и вызывал у потомка метод - Результат поиска, с указанием true/false есть ли искомая информация тут (там скорее всего простой поиск по подстроке тупо по содержимому документа document.InnerHTML). На странице поиска был список всех страниц сайта (несколько десятков), они по очереди подключались во frame, делая следующий на получение ответа от предыдущего... т.е. при поиске по очереди загружались страницы, проверялись, нужная ли она или нет, и поиск продолжался, по окончанию оставался список нужных, можно было ткнуть на нужную... естественно страницы всего сайта попадали в кеш браузера после первого же поиска, все работало очень неплохо (я не помню что там было сделано на случай ошибок, сейчас такое бы на чистом javascript реализовали бы),.. делать так не рекомендую но как пример что способов реализовать поиск очень много.
    Ответ написан
    Комментировать
  • Как с помощью Selenium на Python найти элемент html страницы, который расположен в #shadow-root (open)?

    @rPman
    Это фича shadow dom

    Единственное ее применение, как я понимаю, - это защита от блокировщиков рекламы, ее стали внедрять популярные веб сервисы (например пикабу)

    Правда пометка open говорит что элементы внутри должны быть доступны из javascript
    Ответ написан
    Комментировать
  • Простой счётчик без БД (допустим на основе txt файла)?

    @rPman
    Если есть доступ к серверу, то настроить логи и анализировать их.
    Если есть доступ только к html страничкам, то подключить какую-нибудь стороннюю аналитику, если Россия то какая-нибудь яндекс.метрика.

    Если самому то без доступа к серверу (или ее один сервер но уже по твоим правилам) не обойтись. Тебе нужно где то хранить информацию о посещениях. Куки тут не подойдут, они хранятся у клиентов.
    но это извращение
    p.s. можно предположить, если страница достаточно популярна, с помощью webrtc реализовать децентрализованное хранилище у клиентов, каждый клиент как только заходит на сайт, тут же делится собранными данными со своими соседями (сайт тут выступает как обменник, есть сторонние сервисы которые ничего не хранят но обеспечивают 'соединение'), но передаваемых данных будет слишком много (количество клиентов * количество дней глубины сохранения посещений) и передаваться должны всё всем.
    Ответ написан
    Комментировать
  • Как с помощью регулярного выражения найти все теги?

    @rPman
    Регулярные выражения не подходят для анализа html.

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

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

    @rPman
    Если блок однозначно идентифицируется css селектором, то хватит uBlock Origin chrome, firefox.

    Иначе придется писать javascript код для поиска и удаления/сокрытия блока и инжектить его с помощью чего то типа tampermonkey
    Ответ написан
    2 комментария
  • Как сделать фоновую музыку в html на таплинке?

    @rPman
    с примерами, максимально просто: https://www.w3schools.com/html/html5_audio.asp

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

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

    @rPman
    Открывамем гугл, пишем github browser mobile detector
    получаем ссылку на почти сотню проектов, отсортированных по популярности, первый какраз на php
    Ответ написан
    Комментировать
  • Какую технологию использовать для проигрывания видео в браузере с ручной подгрузкой байтов?

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

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

    p.s. вполне возможно что сейчас лучше/удобнее формировать .m3u8 плейлист, javascript там продвинутый у html video, но если что его можно формировать и прописывать с помощью data uri.
    Ответ написан
    Комментировать
  • Как редактировать контент сайта человеку не знающему HTML (без конструкторов)?

    @rPman
    Тебе нужна 'система управления к содержимым' (content management system), в общем случае это программа которая из текста делает html, и делает это в удобном и понятном виде.

    Либо ты пользуешься готовыми системами типа конструкторов сайтов и новыми cms типа древнего wordpress, либо пишешь его сам
    Ответ написан
    4 комментария
  • Собственное поле для ввода на чистом JavaScript?

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

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

    @rPman
    Выбрав SSI ты заранее создал себе проблемы.
    Собирать страницу из кусочков можно на самом php, прямо в твоем process.php (именно так и делают), а с помощью mod_rewrite веб сервера скрывают .php от пользователя, оставив /process

    Так же совершенно нормально (с оговорками про поисковые системы, роботы еще не очень хорошо читают такие страницы но все решаемо) формировать страницу не на сервере а на клиенте, с помощью javascript (такой подход активно используется в SPA веб приложениях), в этом и похожих случаях необходимые переменные передаются с сервера на клиент с помощью технологии ajax (на основе fetch или XMLHttpRequest, сам ajax реализован в популярном jquery) а еще лучше с помощью websocket (но нужно на сервере уже бакэнд с его поддержкой), ведь это позволит не только клиенту запрашивать данные но и серверу оперативно передавать данные клиенту по своему желанию а не когда спросят.
    Ответ написан
    Комментировать
  • Как получить значение с querySelector?

    @rPman
    тебе так сложно нажать правую кнопку в инспекторе на нужной ветке и выбрать copy as css selector?
    не всегда оно красивое но браузер старается
    #processor > option:nth-child(1)

    по теме, воспользуйся css selector по значению атрибута
    #processor > option[value="6398"]

    p.s. тебе точно нужно выбирать по значению цены? может правильнее использовать querySelectorAll и перебирать каждое значение, проверять по условию и действовать?
    Ответ написан
    Комментировать
  • Не работает локализация setlocale в PHP?

    @rPman
    функция date умеет только англоязычные названия (формат 'F'). Для русских подменяй сам, заведи константу массив (нулевой элемент пустой, так как нумерация месяцев с нуля) типа $month_names=['','Январь','Февраль',... и для вывода пользуйся $month_names[$mon]

    Формат в date для месяца бери 'n', он выдаст номер без дополнительного символа 0 в начале (если оставишь 'm' то в массиве имен не будут найдены значения по ключу '01'...)

    p.s. есть strftime, оно умеет разные языки, но русский не умеет (хотя в системе все прописано и настроено)
    Ответ написан
    2 комментария
  • Почему не срабатывают скрипты после XMLHttpRequest запроса?

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

    @rPman
    Есть косвенное решение - разрешить в браузере сохранять загрузки автоматически без запроса места сохранения (на сколько я знаю это поведение по умолчанию) и из скрипта сформировать файл через File, Blob или MediaSource, создать для него ссылку с помощью createObjectURL (на сколько я помню это будет data uri строчка) и кликнуть по ней.

    var file=new Blob([JSON.stringify(obj, null, 2)], {  type: "application/json"});
    var url=URL.createObjectURL(file);
    var a = document.getElementById("a"); // где то на странице невидимая ссылка
    a.href = URL.createObjectURL(file);
    a.download = 'myfilename.json';


    Как вариант строчку сделать самому и отправить его прямо в location, что то типа location.href='data:text/plain;charset=utf-8,test').

    Твое python приложение пусть ожидает файл в каталоге для загрузок, указанном в настройках браузера. Будь готов, что браузер добавить ' (xxx)' к имени файла, если такой же там уже есть.

    Я примерно таким образом добавленным через консоль (или расширением типа greasemonkey) скриптом кликал и собирал данные в веб приложении, после отправлял их на сохранение в виде csv-шника, а затем собрал кучу сохраненных файлов уже десктопным приложением.
    Ответ написан
    Комментировать
  • Как запустить чужой проект веб-приложения с GitHub на своем компьютере?

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

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

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

    @rPman
    удостоверься что $trainings[1] действительно содержит побайтово "pump", причем очень часто символы могут совпадать визуально но не значением, например русская 'Р' и английская 'P'.

    выведи обе сравниваемые строки с помощью bin2hex
    Ответ написан