it-swarm.com.de

Kann ich mithilfe von CSS das von Google Analytics Mobile verwendete Tracking-Gif ausblenden?

Ich gestalte meine mobile Website neu, die ein 1x1px Google Analytics für mobile Websites Tracking-GIF verwendet.

Das alte Design zeigte das Bild am Fuß der Seite an, aber mein neues Design verbirgt das GIF mit CSS (display:none).

Wird dies Auswirkungen auf die Verfolgung der Website haben?

* edit *

Während ich mein Tracking-GIF verschoben und das unmittelbare Problem behoben habe, höre ich widersprüchliche Antworten , ob ein Bild mit display:none heruntergeladen wird oder nicht.

Kann jemand eine offizielle Dokumentation verlinken?

5
ajcw

Ja. Es wird weiterhin heruntergeladen und funktioniert auch mit display:none korrekt als Tracking-Gif. Sie können dies selbst testen, indem Sie dem Bild das Attribut onload hinzufügen:

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

Dadurch wird ein JavaScript-Popup angezeigt, wenn das Bild heruntergeladen wird, obwohl Sie das Bild nicht auf der Seite sehen. Live-Demo hier.

Wenn Sie das Attribut src des Bildes leer lassen, wird kein Bild heruntergeladen, sodass das Ereignis onload niemals ausgelöst wird ( Live-Demo ):

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

Der Grund, warum das Bild immer noch heruntergeladen wird, ist, dass display:none einfach "verhindert, dass das Element in der Formatierungsstruktur angezeigt wird", mit den Worten die W3C-Spezifikation für die Anzeigeeigenschaft .

Durch die Verwendung von display:none wird die HTTP-Anforderung für das Bild nicht unterdrückt. Dies hängt von einigen JavaScript-Entwicklern ab, die img Tags erstellen, die mitdisplay:none formatiert sind, um Bilder vor der Anzeige im Cache zwischenzuspeichern.

Siehe auch die Antworten auf "Wird ein Element mit Anzeige: keine in CSS festgelegte Datei noch vom Browser heruntergeladen?" over on Stack Overflow.

Wie in Antwort von feela erwähnt, gibt es jedoch wenig Grund, ein 1px-Quadrat-Tracking-Gif zu verbergen, wenn Sie es an einen Ort verschieben können, der sich nicht auf Ihr Layout auswirkt.

4
Nick

Normalerweise werden Bilder, die auf display: none; eingestellt sind, überhaupt nicht geladen, sodass keine Nachverfolgung stattfindet. Aber es hängt davon ab, ob das CSS vor dem Markup (z. B. im <head>) oder nach dem Markup (was zu einem "Lade-Flimmern" führt) geladen wird. Ich weiß nicht über visibility: hidden; ...

Warum versteckst du das Tracking-Bild überhaupt? Stellen Sie es einfach irgendwo hin, wo niemand es erwähnen wird.

1
feeela