Você pode fazer referência às variáveis do AppMeasurement de iframes filho e pai. É necessário definir todas as variáveis no mesmo local em que a biblioteca do AppMeasurement existe. Os exemplos a seguir explicam como definir variáveis e métodos básicos do AppMeasurement dentro e fora de um iframe.
Se você usar o Adobe Experience Platform Launch, verifique se o objeto de rastreamento está acessível globalmente. Consulte Visão geral da extensão do Adobe Analytics no guia do usuário do Launch.
!![CAUTION]
Evite incluir bibliotecas do AppMeasurement em uma página pai e em um iframe. Isso apresenta riscos ao enviar várias solicitações de imagem, inflando os relatórios e aumentando as chamadas faturáveis do servidor.
Você pode acessar as variáveis do AppMeasurement pelo objeto iframe. Esses exemplos definem pageName e chamam o método t() usando duas maneiras diferentes para referenciar o objeto 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();
Você pode acessar as variáveis do AppMeasurement em uma página pai a partir de um iframe. Este exemplo define pageName e chama o método t() usando a parent
propriedade.
// 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
e ouvintes de eventoComo alternativa, você pode usar ouvintes de postMessage
evento e de tela para definir variáveis. Este método não requer uma referência direta a um 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
variável será definida como o URL pai, não como o URL de referência real. É possível definir manualmente a referrer
variável para resolver esse problema.