3 Stimmen

Wie schützt man Webseiten vor langsamen Webbeacons zur Werbeverfolgung?

Ich arbeite für eine große Website. Unsere Marketingabteilung bittet uns, immer mehr Web-Ad-Tracking-Pixel auf unseren Seiten anzubringen. Ich habe kein Problem damit, die Wirksamkeit von Werbekampagnen zu verfolgen, aber die Server, die diese Pixel ausliefern, können unzuverlässig sein. Ich bin sicher, dass die meisten von Ihnen schon einmal gesehen haben, dass Webseiten nicht fertig geladen werden, weil ein Pixel von yieldmanager.com nicht fertig heruntergeladen wird.

Wenn das Pixel nie fertig heruntergeladen wird, wird onLoad nie ausgelöst, und in unserem Fall wird die Seite ohne dies nicht funktionieren.

Wir haben das zusätzliche Problem von Gomez. Wie Sie vielleicht wissen, haben sie überall auf der Welt Bots, die die Geschwindigkeit von Websites messen, und es ist wichtig für uns, in ihren Messungen gut auszusehen, trotz der Mängel in ihrer Methodik. Ihre Bots führen onLoad-Handler aus. Selbst wenn ich also ein Skript verwende, das onLoad ausführt, um die Pixel zur Seite hinzuzufügen, nachdem alles andere fertig ist, können wir immer noch miserable Gomez-Werte erhalten, wenn die Pixel 80 Sekunden zum Laden brauchen.

Meine Lösung war, die Pixel auf der Seite über einen onMouseMove-Handler hinzuzufügen, so dass nur Menschen sie auslösen werden. Haben Sie Jungs haben eine bessere Ideen?

6voto

Stevo Punkte 462

JQuery und andere JavaScript-Frameworks können das Problem lösen, indem sie eine Methode wie die Funktion "document ready" verwenden, die ausgelöst wird, wenn das Dokument fertig ist, und nicht auf alle Bilder warten muss.

Ich zitiere direkt aus dem jQuery-Tutorial:

Das erste, was die meisten Javascript-Programmierer tun, ist das Hinzufügen von Code zu ihrem Programm, ähnlich wie hier: window.onload = function(){ alert("welcome"); } Darin befindet sich der Code, der direkt beim Laden der Seite ausgeführt werden soll. Problematisch ist jedoch, dass der Javascript-Code erst dann ausgeführt wird, wenn alle Bilder fertig heruntergeladen sind (dies gilt auch für Werbebanner). Der Grund für die Verwendung von window.onload liegt darin, dass das HTML-"Dokument" noch nicht fertig geladen ist, wenn Sie zum ersten Mal versuchen, Ihren Code auszuführen. Um beide Probleme zu umgehen, verfügt jQuery über eine einfache Anweisung, die das Dokument prüft und wartet, bis es für die Bearbeitung bereit ist, das so genannte ready-Ereignis:

 $(document).ready(function(){
   // Your code here
 });

Sie könnten dieses Ereignis nutzen, um die problematischen Bilder zu laden.

Unter diesem Link finden Sie weitere Informationen.

http://docs.jquery.com/Tutorials:How_jQuery_Works

1voto

BryanH Punkte 5626

Ich arbeite auch für eine große Website und wir haben Folgendes getan:

  1. Verschieben der Anzeigenaufrufe an den unteren Rand von der Seite verschoben, damit der Inhalt zuerst angezeigt wird (weil JS synchron).

  2. Laden der Anzeigen über Ajax-Aufrufe (an die Seite nutzbar bleibt, während die die Anzeigen geladen werden) in eine versteckte Element.

  3. Die Position wird an die richtige Stelle verschoben Stelle im DOM verschoben und "enthüllt".

    • Je nach Seite werden wir entweder warten wir, bis die Anzeige fertig geladen ist bevor wir die Position verschieben, oder wir verschieben die Position sofort.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X