Скрипт для проверки, что у каждого нового посетителя подгрузился js?

12
P
На сайте с 06.01.2009
Offline
592
1481

Здравствуйте. Есть подозрение, что у некоторых "новых" юзеров не подгружается css и js.

Проблема давняя, переписка с хостером не помогла, они говорят, что на их стороне проблемы нет.

При посещении страницы она загрузилась коряво (не подгрузилось css) и не подгрузились js.

Захожу в исходный код, нахожу в нем


...
<link rel="stylesheet" type="text/css" href="/stili/stili.css" />
...

тыкаю в коде по "/stili/stili.css"

и что я вижу


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd">
<!-- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd"> -->
<HTML>
<HEAD>
<META HTTP-EQUIV="Refresh" CONTENT="0.1">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
<TITLE></TITLE>
</HEAD>
<BODY><P></BODY>
</HTML>

похожая тема тут

первый пост проблема аналогичная нашей, последний - решение.

Вопрос в другом.

Раз решить не удалось, есть мысль сделать какую то проверку, и в базу писать

ip usera/подгрузился js или нет/подгрузился css или нет

Как реализовать не знаю. Может намекнете или покажете пример, профи?

Догадываюсь, что есть решение примерно такое

юзер заходит в страницу - в коде страницы html типа "обновите страницу у вас не все блоки загрузились" - но, при загрузке js данный контент со страницы удаляется. Т.е. если js отработал, юзер этого текста не увидит. Но этот вариант не позволит мне узнать действительно 50% посетителей не видит страницу так как нужно или нет проблемы.

Спасибо заранее.

DT
На сайте с 28.11.2006
Offline
298
#1

Т.е, иногда сервер отдает страницу в которой по сути и кода нет? Какой код подгружается у Вас можете процитировать?

Догадываюсь, что есть решение примерно такое
юзер заходит в страницу - в коде страницы html типа "обновите страницу у вас не все блоки загрузились" - но, при загрузке js данный контент со страницы удаляется. Т.е. если js отработал, юзер этого текста не увидит. Но этот вариант не позволит мне узнать действительно 50% посетителей не видит страницу так как нужно или нет проблемы.

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

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

Дешевый CloudLinux хостинг (http://www.provisov.net) много площадок в России, Франции, Украине, Германии, Нидерландах, США, Канаде. SSL-сертификат (https://www.provisov.net/blog/2016/10/26/besplatnyj-ssl-sertifikat-dlya-vsex-vashix-sajtov/) бесплатный и предустановленный для всех доменов
P
На сайте с 06.01.2009
Offline
592
#2

dmitrii_trof, понимаете, год назад я создал (не могу найти) тему, Гуру подсказали, что нет смысла смотреть ни коды ошибок ни логи.

Я сейчас понял, что в первом посте не верно описал проблему, сейчас исправлю.

---------- Добавлено 11.08.2016 в 01:34 ----------

dmitrii_trof:
Но как вариант потестить на другом сервере и проверить там. Банально

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

---------- Добавлено 11.08.2016 в 01:35 ----------

dmitrii_trof:
Вы еще целую систему напишите по вычислению подгрузился JS или нет. Не те это файлы, чтобы из-за них так морочиться.

Как это? У меня товары подгружаются js-ом...

Aisamiery
На сайте с 12.04.2015
Offline
293
#3

А вы не думали что проблема в вашем движке? Раз какая то страница отдается вместо стилей. Вам не нужна большая выборка клиентов, вам надо просто файл переименовать stili2.css. Дело в том, что обычно статика берется с кеша браузера, а у новых посетителей в кэше пусто.

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

Разработка проектов на Symfony, Laravel, 1C-Bitrix, UMI.CMS, OctoberCMS
L
На сайте с 10.02.2015
Offline
222
#4

Странно, что для css отдается html.

Проверьте настройки хостинга, сделайте css статичным, меняйте хостера.

P
На сайте с 06.01.2009
Offline
592
#5
livetv:
Странно, что для css отдается html.
Проверьте настройки хостинга, сделайте css статичным, меняйте хостера.

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

А что значит сделать css статичным? Он же и так статичен, разве нет? Поясните, плиз.

---------- Добавлено 11.08.2016 в 02:03 ----------

Aisamiery:
А вы не думали что проблема в вашем движке? Раз какая то страница отдается вместо стилей. Вам не нужна большая выборка клиентов, вам надо просто файл переименовать stili2.css. Дело в том, что обычно статика берется с кеша браузера, а у новых посетителей в кэше пусто.

Думал. Но, опять же - css не подгружается я не вижу причин - в коде одна строка с указанным урл файла стилей. Я не стал переименовывать css, я просто дописал к нему ?text

Aisamiery:
Ну и по поводу хостера, была как то проблема с петерхостом, дело в том что браузер грузит в несколько потоков, так вот некоторые коннекты сервак петерхоста просто сбрасывал, тем самым не долетала статика до посетителей (скрипты, стили, картинки)

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

Aisamiery
На сайте с 12.04.2015
Offline
293
#6
postavkin:

Думал. Но, опять же - css не подгружается я не вижу причин - в коде одна строка с указанным урл файла стилей. Я не стал переименовывать css, я просто дописал к нему ?text

Одному тут так посоветовал, так тот прям переименовал файл с знаком вопроса :)

postavkin:

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

Можно поизвращаться и поставить проверочку на ping-admin.ru адреса файла стилей с проверкой определенного текста по ссылке

Samail
На сайте с 10.05.2007
Offline
361
#7
postavkin:
ip usera/подгрузился js или нет/подгрузился css или нет
Как реализовать не знаю. Может намекнете или покажете пример, профи?

Я не профи и как правильно сделать не знаю, поэтому загрузку файла js проверял бы так:

в скрипт за которым нужно следить запихнул бы переменную например js1 = '1'; а в саму страницу вставил код скрипта который бы после загрузки страницы отправлял к php скрипту POST запрос с этими значениями (data.js1 = js1; ), который бы в зависимости от того что пришло 1 или пустота и писал в базу загрузился скрипт или нет.

P
На сайте с 06.01.2009
Offline
592
#8

Samail, не очень понял.

А если так.

Одно и тоже действие, например, запись ip юзера делать и php и js-ом. В результате должны получится одинаковые таблицы.

ps только вот погрешность может вносить специально отключенные юзером js.

Samail
На сайте с 10.05.2007
Offline
361
#9

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

---------- Добавлено 11.08.2016 в 15:16 ----------

postavkin:
Одно и тоже действие, например, запись ip юзера делать и php и js-ом.

Но js может не записать IP в статистику просто потому что у пользователя скрипты отключены или он страницу закрыл до того как страница загрузилась, а не потому что файл не загрузился.

P
На сайте с 06.01.2009
Offline
592
#10
Samail:
Основная мысль: статистику писать скриптом код которого на самой странице, а не в файле (он то по любому загрузится), брать значение переменной из скрипта который в файле и добавлять в эту статистику. Если файл загрузился, там будет это значение, а если не загрузился, то нет..

Ага, идея интересная. Теперь понятно.

Но то, что Вы написали при этом все равно также

Samail:

Но js может не записать IP в статистику просто потому что у пользователя скрипты отключены или он страницу закрыл до того как страница загрузилась, а не потому что файл не загрузился. .



---------- Добавлено 11.08.2016 в 09:31 ----------

Блин, не получится так сделать.

Ведь js выполняется после загрузки страницы (после выполнения php)..

---------- Добавлено 11.08.2016 в 09:32 ----------

И все таки самое логичное решение, как то проверить загрузился ли у юзера js и css, если нет сделать reload страницы (но только один раз).

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий