Estoy trabajando para agregar el código de Google Analytics a mis informes de Cognos para ayudar a rastrear el uso de nuestro sitio web. He creado un control personalizado de módulo de página que funciona correctamente cuando se carga la página del informe. El código actualmente establece el nombre del informe manualmente en el código. Quiero que el control obtenga dinámicamente el nombre del informe. El código para el módulo de página es:
define( ["https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"], function() { function PageModule() {}; PageModule.prototype.load = function( oPage ) { window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-XXXXXXXXXX', { 'page_title' : 'Cognos Report Name' }); };Sé que Cognos tiene una función que obtendrá el nombre del informe cuando se agregue en un elemento de consulta. Estoy tratando de obtener el mismo nombre de informe en el control personalizado sin tener que agregar un elemento de consulta único en el informe. ¿Es posible obtener el nombre del informe mediante JavaScript y, de ser así, qué código debo insertar en lugar del nombre del informe de Cognos? Cualquier sugerencia sería muy apreciada.
Recibí una respuesta de dougp a mi publicación, en conocimiento , que resolvió mi problema. Aquí está el código final que se basa en Google Analytics 4.
define( ["https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"], function() { function PageModule() {}; PageModule.prototype.load = function( oPage ) { window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-XXXXXXXXXX', { 'page_title': (new DOMParser()).parseFromString(oPage.application.Document.reportXML, "text/xml").getElementsByTagName("reportName")[0].childNodes[0].nodeValue } );