Comments 49
Нашли? Отлично. А теперь чтобы сайт приэтом еще и не терял функциональности?
Нашли, но не можете ответить? Включите JavaScript
Я не призываю отказываться от JS-жучков, а только заполняю пробел между «JS-жучками» и «статическими счетчиками» (которые до сих пор идут в комплекте с JS-жучками в теге ).
С помощью методов описанных в статье вы сможете:
1. Обойти плагины блокирующие JS жучки, или uncaught exception.
3. Добавить еще один метод сепарации реальных пользователей от ботов phantomjs.
4. Если, ввиду особенности проекта, у ваших пользователей нет JS — анализировать их поведение.
Целых два дня. Праздник проходит 48 часов. Он для того чтобы показать чего ваш сайт стоит без CSS. Здесь чуть больше: https://css-naked-day.github.io
Я периодически вижу сайты без css. Таблица стилей по каким то причинам не подгрузилась и получаем голый HTML. Причём и обновление иногда не помогает.
Правда я думаю, что сейчас они ничего интересного не покажут, т.к. табличной верстки уже нет нигде, а блоки без стилей — прямая линия вниз.
Потому что надо использовать block и inline элементы правильно.
Расскажите пожалуйста какие HTML элементы надо использовать, чтобы без CSS все осталось на своих местах?
Если вам очень нужна сетка даже в случае когда отвалился CSS. То тут только таблицы использовать.
Сайт может быть не столь красивым без CSS но должен сохранять необходимую функциональность. Тоже касается и Javascript. Очень раздражают сайты на которых просто пустая страница без Javascript. Что сложного в том чтобы показать мне текст который поисковик нашол на этой странице без Javascript и CSS?
Недавно наткнулся на сайт который без аналитики гугла не хотел мне файл давать скачать. Не учли программеры что кто то её заблокировать может и в консоль сыпались ошибки.
Зачем?
Чтоб им могли пользоваться?
Для меня самое главное на большинстве сайтов — это их наполнение, а не свистелки на JS и украшательства на CSS.
Более того, у меня время от времени чешутся руки написать граббер, который будет собирать с интересных мне страниц и сайтов только текст.
Ок — можно прожить без JS — я сам ругаюсь на такие сайты, однако мне их приходится делать, но вот CSS… боюсь что это необходимый минимум. Правда я за то чтобы анимации можно было отключать.
www.myprovence.fr/snapshots2012/en
www.clinicadrmauro.com.br
Здесь у нас замечательная смесь CSS3, HTML5, video as background (трафик!).
у пэйпола было одно время видео в фоне, было у фейсбука, кажется у Эппл было…
чешутся руки написать грабберЗачем изобретать велосипед? в некоторых браузерах (например, яндекс) есть такая функция как режим чтения.
Есть расширения блокирующие скрипты по доменам.
У меня к вам вот тут вопрос:
то есть мы не получаем информацию о том, каким образом пользователь вел себя на странице.
Вы же обрабатываете запросы на сервере. Уже как минимум отлавливаете переходы по своим ссылкам. События с формами также относятся к серверной активности.
Вариант с hover || focus мне не нравится потому, что я (как пользователь) смогу породить вам много паразитных запросов, например, зажав tab. Я думаю, что вашему серверу это не понравится, и мне как пользователю тоже.
Простите, писал с телефона, потому не форматировал текст.
Сомневаюсь, что запрос будет происходить каждый раз при hover/focus. Скорее всего один раз на один элемент. И тут вы уже сами вольны распоряжаться на сколько элементов вешать такой обработчик.
По поводу форм, я согласен с вами — мы получим данные на сервере. Но цель же не просто отследить факт отправки формы, а понять как пользователь себя вел на странице. Допустим такой кейс:
У вас есть форма заказа, те пользователи которые ее заполнили и отправили — да мы приняли эту информацию. Но есть еще пользователи которые не прошли этот этап и на чем-то остановились. Цель поведенческой аналитики как раз в этом.
По поводу «смогу породить вам много паразитных запросов, например, зажав tab» — насколько я тестировал, вы не сможете такого сделать, запрос приходит лиш один раз за сеанс (после загрузки страницы) повторный фокус или клик — не создает запросов.
Хм. А все эти url будут отрабатывать каждый раз или один раз скачаются и осядут в кэше?
Хотя, наверное, можно Cache-Control выставить...
Прежде всего все загрузки url(x) будут происходит один раз за сеанс (во множестве браузеров так). Другими словами, вы:
1. заходите на страницу spycss.hcbogdan.com
2. наводите курсор на ссылку google.com
3. на сервер отправляется GET
4. потом повторно наводите курсор на ссылку google.com
5. повторных запросов нет
Только если вы обновите страницу, или откроете в другой вкладке, вы сможете пройти путь снова с пункта №1.
Конечно нужно учитывать кэширование браузера, например можно использовать такие заголовки — github.com/Bogdaan/spycss-demo/blob/master/src/controllers.php#L181
Допустим, если у вас есть форма в которой сервер заранее устанавливает какие-либо значения (исходя из данных пользователя). В таком случае вы сможете загрузить эти данные к себе используя CSS.
Например, таким образом: jsfiddle.net/hcbogdan/1wdky4t6/1
добавляем 127.0.0.1 mc.yandex.ru
и все ваши правила прекращают работать
Причём тут яндекс? Мы же можем все запросы отправлять на свой сервер. На тот же домен на котором расположен собственно сайт.
hosts — халявный метод, идеален, если ненужный мусор на отдельном домене. Если он на том же домене, что сайт — опаньки. Но можно подавить с помощью extension. Для Chrome нужное API — chrome.webRequest onBeforeRequest, для Firefox, наверное, то же в browser. Но за всё приходится платить: это лишний код, выполняющийся перед загрузкой каждого файлика.
Current url schema:
/<user_id>/<endpoint>/<value>
и всё-таки лучше использовать сессию, а не id пользователя.
1. Запросы могут идти на другой домен. К примеру у вас сайт a.aa на нем загружены стили с домена b.bb
2. State-less бэкенд прост в реализации
3. Ничто не мешает вам игнорировать UserId, в случае, если ваш бэкенд поддерживает сесии (state-full, как например реализован spycss.hcbogdan.com). Но если у вас сессии не допустимы, данные потеряються.
Пользователи отключающие js могут и картинки отключить. А если их отключить то ваше отслеживание уже не работает.
Они работают даже тогда, когда картинки и JS отключен.
JavaScript жучки не подходят исходя из требований. За исключением таких, которые идут в комплекте с статичным счетчиком. (пример яндекс счетчика)Нормальные блокировщики (ну кроме nojs) отключают и то и то, и речи не идет чтобы оставить что-то одно. Конечно можно свою картинку запилить.
У меня подход простой: считаете меня на своем сайте — считайте на здоровье. Отправляете мои данные другим (яндексу, гуглу, ...) — обойдетесь. (Точнее обойдется яндекс и гугл).
Отслеживаем действия пользователя с помощью CSS