Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
2650 / 1661 / 267
Регистрация: 19.02.2010
Сообщений: 4,394

Определить факт загрузки/незагрузки CSS

04.08.2019, 20:58. Показов 483. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно такое сделать на пыхе? Как?

Скрипт подключается внутри html-страницы с помощью <!--#include file="prog.php"-->.
Таблица стилей подключена ранее, отдельным <link rel=stylesheet href="style.css" type=text/css />.
Т.е. страничка целиком скриптом не генерируется - скрипт просто будет цепляться в футер отдельных страниц сайта на статическом html.
И надо этим пыхоскриптом отловить, загрузил или нет браузер/робот указанную для странички таблицу стилей.

?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.08.2019, 20:58
Ответы с готовыми решениями:

Ускорение загрузки js и css
Доброго времени суток. Нашел скрипт, добавил его в корень, где все php файлы (wp-content/themes/.../mini.php) и обозвал его mini.php ...

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

??? определить факт подключения нагрузки
Делаю зарядное устройство. Нужно индицировать подключение аккумулятора (нагрузки). Придумал такую схему. При подключении светодиод...

5
Невнимательный
 Аватар для ft4l
3112 / 1290 / 359
Регистрация: 08.02.2013
Сообщений: 7,566
Записей в блоге: 2
04.08.2019, 22:24
По идее браузер/робот должен загружать файлы стилей/скриптов после того как сервер отдаст ему сгенерированный html,
где и указано что запросить ещё.... если он не берёт содержимое из кэша, просто проверив что файл не устарел
отправив в заголовках запроса If-Modified-Since: ...
0
2650 / 1661 / 267
Регистрация: 19.02.2010
Сообщений: 4,394
04.08.2019, 23:53  [ТС]
Т.е. к "идентификаторам", определённым в CSS, достучаться с помощью isset (передавая ей что-то типа $_BlaBla['MyId']) нельзя?
Нет в пыхе ничего для доступа внутрь документа=страницы? Только лишь заголовки = через getenv() можно посмотреть?


Ну и более подробно опишу, в чём собственно состоит неабстрактная задача.
Есть форма обратной связи, по которой спамят боты.
В форму добавлено невидимое поле - глупые боты его заполняют, и скрипт в таком случае ничего не отправляет. Но боты всё-таки дёргают и страницу, и сам скрипт отправки. Хочется избежать этого - подсовывать ботам страницу без формы.
Анализ логов сайта показывает, что боты при этом не грузят css (а грузят только саму страничку и файл скрипта, привязанного к форме).
И в имеющееся в скрипте условие
PHP/HTML
1
2
3
if (!isset($_REQUEST['submit'])||isset($error)) {
    include($userdir."mailform.html");
}
хочется добавить ещё одно условие (ну или вызов функции, если простым способом не сделать и надо действия реализовывать несколькими строчками кода), проверяющее загруженность таблицы стилей (вариант - какой-нибудь картинки со страницы, боты картинки тоже не грузят). И если не загружено то, что браузер грузить обязан - то это бот, и боту выдавать страничку без формы.
По юзерагенту боты не ловятся. Ботоводные айпишники банятся - но это полумера. Хочется ещё и по поведению (загрузка только содержания странички - и незагрузка её оформления в виде стилей и картинок) отлавливать ботов в самОм скрипте.
0
30 / 26 / 3
Регистрация: 01.09.2018
Сообщений: 141
05.08.2019, 00:03
а что мешает добавлять форму через js после загрузки страницы, пользователь разницы не увидит, а бот не увидит формы если не подгружены стили
0
2650 / 1661 / 267
Регистрация: 19.02.2010
Сообщений: 4,394
05.08.2019, 19:28  [ТС]
stanislavj, Да, я знаю, что у js есть вариант писать в страничку через document.write().
Но беда в том, что я не пхпшник и не джавист. Что прога на этих языках делает - понять могу, но мне проще доработать уже готовое, чем переписывать+дорабатывать ещё на одном "чужом" языке.

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

Но за напоминание о js спасибо. А то я годами могу не видеть ничего за привычными рамками с/с++/асм
0
365 / 124 / 22
Регистрация: 08.01.2015
Сообщений: 1,418
Записей в блоге: 2
06.08.2019, 22:57
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
<!--#include file="prog.php"-->
Это Вы привели пример технологии SSI. Которая, да, ОЧЕНЬ удобная, быстрая, но... несовместимая с РНР.
Т.е. SSI & PHP. Правда, ничто не мешает посылать со страницы, сформированной по технологии SSI, AJAX-запросы, путем обращения к РНР-файлам, но Ваш вопрос, вроде, не о том.



Добавлено через 6 минут
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
И надо этим пыхоскриптом отловить, загрузил или нет браузер/робот указанную для странички таблицу стилей.
Если речь идет о скрипте на языке РНР, то это - проще сделать дополнительным AJAX-запросом. Т.е. как только браузер загрузит страницу полностью (в том числе и таблицу CSS), произойдет событие onload, то посылается серверу запрос (что-то типа "ОК"), что, мол, все хорошо загрузилось. Можно ловить ответ сервера, при желании. Если нужно контролировать загрузку только этой таблицы, но не контролировать загрузку всего остального, тогда лучше подгружать ее отдельно по AJAX.

Добавлено через 6 минут
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
Таблица стилей подключена ранее
Некорректно сказано. Подключена-то она, конечно ранее. Но вот только браузер может получить ее уже ПОСЛЕ того, как будет загружен html, вместе с prog.php. Так как содержимое файла prog.php подключается (ибо SSI) еще на сервере, перед посылкой браузеру ответа. Кроме того, похоже, Вы получите в браузере именно содержимое этого файла (т.е. все эти $x, $y, ...), а не результаты его работы (см. выше).
Если по этапам:
1. Вначале браузер получает код html с именем таблицы CSS и кодом файла prog.php, начинает его отображать.
2. Как только браузер дойдет до строчки <link rel=stylesheet href="style.css" type=text/css />, он открывает еще один ТСР-сокет и через него отправляется запрос (это совсем не AJAX!!) на сервер с просьбой - отдать содержимое файла style.css. Сервер может думать 0,1 сек, а может и минуту...
3. Тем временем, браузер, не дожидаясь прихода содержимого файла style.css, продолжает отрисовку html и вполне может успеть дойти до содержимого файла prog.php.
4. Как только поступили данные файла style.css, браузер вскоре начинает применять их к полученному html.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.08.2019, 22:57
Помогаю со студенческими работами здесь

Определить факт принадлежности точки фигуре

Определить факт столкновения двух прямоугольников
Всем привет! Стоит такая задача: Есть класс Unit, в котором есть метод, определяющий сталкновение двух юнитов. В коде это выглядит...

Определить факт пересечения объекта с прямой
Имеется 4 точки PointF которые условно образуют стену(необязательно прямоугольную и правильных пропорций), и шар координаты которого также...

Определить факт наличия чётной цифры в числе
Составить линейную программу, печатающую значение true, если указанное высказывание является истинным, и false — в противном случае: В...

Определить факт того, что все числа чётные
Определите значение логического выражения, утверждающего, что три целых числа, введённых с клавиатуры, четные числа. Нужно через 10...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru