Могу ли я использовать CSS, чтобы скрыть отслеживание gif, используемое Google Analytics Mobile?

Я перепроектирую свой мобильный сайт, который использует 1x1px Google Analytics для мобильных сайтов отслеживание gif.

Старый дизайн отобразил изображение у подножия страницы, но мой новый дизайн скрывает gif с помощью CSS (display:none).

Это повлияет на отслеживание сайта?

* изменить *

Пока я переместил свой файл gif и решил проблему, я слышу конфликтующие ответы относительно того, загружено ли изображение с помощью display:none.

Кто-нибудь может ссылаться на официальную документацию?

5 голосов | спросил ajcw 11 +04002011-10-11T13:20:18+04:00312011bEurope/MoscowTue, 11 Oct 2011 13:20:18 +0400 2011, 13:20:18

2 ответа


4

Да. Он будет по-прежнему загружаться и функционировать правильно в качестве отслеживания gif, даже с помощью display:none. Вы можете проверить это для себя, добавив к изображению атрибут onload:

<img src="image.gif" style="display:none" onload="alert('Image loaded!')" />

Это приведет к тому, что всплывающее окно JavaScript будет отображаться при загрузке изображения, даже если вы не увидите изображение на странице. Живая демонстрация здесь.

Если атрибут src изображения пуст, изображение не загружается, поэтому onload никогда не срабатывает ( живая демонстрация ):

<img src="" style="display:none" onload="alert('Image loaded!')" />

Причина, по которой изображение все еще загружается, заключается в том, что display:none просто «предотвращает появление элемента в структуре форматирования», в слова спецификации W3C для свойства отображения .

Использование display:none не подавляет HTTP-запрос для изображения. Этот факт зависит от некоторых разработчиков JavaScript, которые создают теги img в стиле display:none для предварительного кэширования изображений, прежде чем они будут готовы к отображению.

Также см. ответы на " Элемент с дисплеем: ни один набор в css до сих пор не загружается браузером? " поверх переполнения стека.

Как упоминалось в , хотя нет никакой причины скрывать 1px квадрат отслеживания gif, когда вы можете переместить его где-нибудь, что не повлияет на ваш макет.

ответил Nick 12 +04002011-10-12T16:15:32+04:00312011bEurope/MoscowWed, 12 Oct 2011 16:15:32 +0400 2011, 16:15:32
1

Обычно изображения, которые установлены на display: none;, не загружаются вообще, поэтому отслеживание не происходит. Но зависит от того, загружен ли CSS перед разметкой (например, в <head>) или после разметки (что вызовет " фликер "). Я не знаю о visibility: hidden; ...

Почему вы скрываете это изображение отслеживания вообще? Просто поместите его где-нибудь, где никто не упомянет об этом.

ответил feeela 11 +04002011-10-11T14:38:21+04:00312011bEurope/MoscowTue, 11 Oct 2011 14:38:21 +0400 2011, 14:38:21

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132