Vous pouvez référencer des variables AppMeasurement à partir des iFrames enfant et parent. Il est nécessaire de définir toutes les variables au même emplacement où se trouve la bibliothèque AppMeasurement. Les exemples suivants expliquent la manière de définir les variables et méthodes AppMeasurement de base à lʼintérieur et à lʼextérieur dʼun iframe.
Si vous utilisez des balises dans Adobe Experience Platform, assurez-vous que lʼobjet de suivi est accessible de manière globale. Consultez la Présentation de lʼextension Adobe Analytics.
Evitez dʼinclure des bibliothèques AppMeasurement sur une page parente et un iframe. Cela comporte des risques dʼenvoyer de multiples demandes dʼimage, de gonfler les rapports et dʼaugmenter le nombre dʼappels au serveur facturables.
Vous pouvez accéder aux variables AppMeasurement par le biais de lʼobjet iframe. Ces exemples définissent pageName et appellent la méthode t() à lʼaide de deux méthodes différentes pour référencer lʼobjet iframe.
// Reference AppMeasurement code that resides within an iframe and send an image request
document.getElementById('targetFrame').contentWindow.s.pageName="Page name within iframe";
document.getElementById('targetFrame').contentWindow.s.t();
// An alternate method to the above if there's only one iframe on the page
window.frames[0].contentWindow.s.pageName = "Page name within iframe";
window.frames[0].contentWindow.s.t();
Vous pouvez accéder aux variables AppMeasurement sur une page parente depuis lʼintérieur dʼun iframe. Cet exemple définit pageName et appelle la méthode t() à lʼaide de la propriété parent
.
// Reference AppMeasurement code on a parent page from within an iframe and send an image request
parent.s.pageName = "Page Name on Hosted Window";
parent.s.t();
postMessage
et des récepteurs dʼévénementsVous pouvez également utiliser postMessage
et des récepteurs dʼévénements pour définir des variables. Cette méthode ne nécessite pas de référence directe à un iframe.
// Place this code in your parent window
function listenMessage(e) {
if(e.data == "Example page view call") {
s.pageName = "Page name using postMessage";
s.t();
}
}
window.addEventListener("message", listenMessage, false);
// Place this code in the iframe
window.top.postMessage("Example page view call","https://example.com");
referrer
est définie sur lʼURL parente et non sur lʼURL référente réelle. Vous pouvez définir manuellement la variable referrer
pour résoudre ce problème.