Ich versuche, die letzte Seite und das letzte Formularfeld, auf das der Benutzer konzentrierte sich vor seinem unerwarteten Verlassen der Seite (nicht klicken Sie auf Fortfahren), aber meine Lösung ist nicht Arbeiten. Ich verwende das onbeforeunload-Ereignis auf den Seiten selbst. Ich bin mir völlig im Klaren, dass dieses Ereignis nicht in allen Browsern konsistent funktioniert, aber ich habe keinen anderen Weg gefunden.Verfolgen Benutzer letzte Formularfeld auf Seite entladen
window.onbeforeunload = function() {
if (fieldName != null && fieldName.length > 0) {
var formName = location.pathname.substring(1);
if (typeof (TrackFormField) == 'function') {
try {
TrackFormField(formName, fieldName);
}
catch (err) {
}
}
}
};
TrackFormField ist Funktion in einer separaten Datei, die nur den Wert der Eigenschaft zuordnet
function TrackFormField(formName, fieldName) {
if (formName) {
s.prop23 = formName + ":" + fieldName;
}
sendOmniture();
}
Und sendOmniture macht folgendes:
function sendOmniture() {
var s_code = s.t(); if (s_code) document.write(s_code)
}
Das Seltsame ist, dass es manchmal funktioniert, aber normalerweise sehe ich prop23 weder im analytics debugger noch in Fiddler.
Nach einigen Debugging habe ich festgestellt, dass s_code aus irgendeinem Grund in der Send Omniture-Funktion nicht definiert ist. Was kann ich tun, um dieses Problem zu beheben?
Um klar zu sein, die tatsächliche HTTP-Anfrage an Adobe wird dies als Abfrage String-Parameter anzeigen 'c23 = [Ihr Wert]' Wenn Sie dies nicht sehen (wenn Sie sehen, dass es tatsächlich eine Anfrage) dann müssen Sie haben Code an anderer Stelle, der 's.prop23' überschreibt (Ich würde damit beginnen, in' s_doPlugins' zu suchen, da es (vermutlich) nichts anderes gibt, als 's.prop23' und diesen' st() 'Aufruf zu setzen) oder' TrackFormField' ist nicht was ausgelöst wird! –