siteMapPerso
Details
dist/mySiteMap.js 136(+130 -6)
diff --git a/dist/mySiteMap.js b/dist/mySiteMap.js
index 795d0fe..be582b6 100644
--- a/dist/mySiteMap.js
+++ b/dist/mySiteMap.js
@@ -7,18 +7,22 @@ require("core-js/modules/es.regexp.to-string.js");
require("core-js/modules/es.array.includes.js");
require("core-js/modules/es.string.includes.js");
require("core-js/modules/es.array.slice.js");
+require("core-js/modules/es.regexp.exec.js");
+require("core-js/modules/es.string.replace.js");
+require("core-js/modules/es.regexp.constructor.js");
require("core-js/modules/es.array.iterator.js");
require("core-js/modules/es.string.iterator.js");
require("core-js/modules/web.dom-collections.iterator.js");
require("core-js/modules/web.url.js");
require("core-js/modules/web.url-search-params.js");
-require("core-js/modules/es.regexp.exec.js");
require("core-js/modules/es.string.match.js");
var enviroment = "";
var pages = [];
+console.log("dfdsf");
esURLValida(window.location.href);
//DATOS DE USUARIO
+var isAnonimus = vsm.loggedIn() === false || vsm.loggedIn() === null ? true : false;
var email = vsm.session.email != "" ? vsm.session.email : "";
var idUser = vsm.session.id != "" ? vsm.session.id : "";
var firstName = vsm.session.name != "" ? vsm.session.name : "";
@@ -64,7 +68,7 @@ var globalListeners = [{
labelName: 'TAGS',
ItPropagation: false
}, {
- class: ".piece.markets.standard ul li",
+ class: "#page-header .piece.markets.standard ul li",
labelName: 'TICKERS',
ItPropagation: false
}, {
@@ -139,6 +143,49 @@ var payWallListeners = [{
ItPropagation: false
}];
+//SELECTORES LogInWall
+var logInWallListeners = [{
+ class: "#appleid-signin",
+ labelName: 'Botón - Iniciar sesión con Apple',
+ ItPropagation: false
+}, {
+ class: "#facebook",
+ labelName: 'Botón - Iniciar sesión con Facebook',
+ ItPropagation: false
+}, {
+ class: "#google",
+ labelName: 'Botón - Iniciar sesión con Google',
+ ItPropagation: false
+}, {
+ class: "#vpllocallogin .localloginbtn",
+ labelName: 'Botón - Iniciá sesión con tu E-mail',
+ ItPropagation: false
+}, {
+ class: ".submit",
+ labelName: 'Botón - Iniciar sesión',
+ ItPropagation: false
+}, {
+ class: ".signup a",
+ labelName: 'Botón - Registrate',
+ ItPropagation: false
+}, {
+ class: ".forgotpassword a",
+ labelName: 'Botón - Olvidé mi contraseña',
+ ItPropagation: false
+}, {
+ class: ".terminosypolitica a:first-child",
+ labelName: 'Botón - Política de privacidad',
+ ItPropagation: false
+}, {
+ class: ".terminosypolitica a:nth-child(2)",
+ labelName: 'Botón - Terminos y condiciones',
+ ItPropagation: false
+}, {
+ class: "#vplsignup input.vsmform.submit",
+ labelName: 'Botón - Registrarme',
+ ItPropagation: false
+}];
+
//SELECTORES Articulo
var articleListeners = [{
class: "nav.breadcrumb ol li a span",
@@ -185,6 +232,13 @@ var articleListeners = [{
ItPropagation: false
}];
+//SELECTORES LANDING DÓLAR
+var landingDolarListeners = [{
+ class: ".dolar .markets table tr",
+ labelName: 'dolares',
+ ItPropagation: false
+}];
+
//Interacciones
var homeInteractions = {
name: "Home"
@@ -192,8 +246,33 @@ var homeInteractions = {
var payWallInteractions = {
name: PayWallIteractionName()
};
+var logInWallInteractions = {
+ name: "LogInWall"
+};
+var landingDolarInteractions = {
+ name: "Landing Dólar"
+};
+var mercadosOnlineInteractions = {
+ name: SalesforceInteractions.CatalogObjectInteractionName.ViewCatalogObject,
+ catalogObject: {
+ type: "MercadosOnline",
+ id: window.cronistaDataLayer[0].articleProperty.id,
+ attributes: {
+ url: window.location.href,
+ name: SalesforceInteractions.cashDom(".section-header-title a").text()
+ },
+ relatedCatalogObjects: {
+ TipoDeCotizacion: SalesforceInteractions.DisplayUtils.pageElementLoaded("html").then(function (ele) {
+ return [window.cronistaDataLayer[0].articleProperty.category.toUpperCase()];
+ })
+ }
+ }
+};
var home = new PageType("Home", "cronista.com", homeInteractions, homeListeners, false);
var payWall = new PageType("PayWall", "cronista.com/suscripciones", payWallInteractions, payWallListeners, false);
+var logInWall = new PageType("LogInWall", "cronista.com/ingresa", logInWallInteractions, logInWallListeners, false);
+var landingDolar = new PageType("Landing Dólar", "cronista.com/MercadosOnline/dolar.html", landingDolarInteractions, landingDolarListeners, false);
+var mercadosOnline = new PageType("Mercados Online", "cronista.com/MercadosOnline", mercadosOnlineInteractions, mercadosOnlineInteractions, false);
if (document.querySelector("#pagecontent .news") || document.querySelector("#pagecontent .news-minisite") || document.querySelector("#pagecontent .news-es") || document.querySelector("#pagecontent .news-mx")) {
var metaTag = document.querySelector('meta[property="og:image"]');
var interaction = {
@@ -213,6 +292,17 @@ if (document.querySelector("#pagecontent .news") || document.querySelector("#pag
authorName: window.cronistaDataLayer[0].articleProperty.authorName,
canonicalUrl: window.cronistaDataLayer[0].articleProperty.canonica,
accessCondition: window.cronistaDataLayer[0].articleProperty.conditionsOfAccess
+ },
+ relatedCatalogObjects: {
+ Category: SalesforceInteractions.DisplayUtils.pageElementLoaded("html").then(function (ele) {
+ return [window.cronistaDataLayer[0].articleProperty.category.toUpperCase()];
+ }),
+ Autores: SalesforceInteractions.DisplayUtils.pageElementLoaded("html").then(function (ele) {
+ return [window.cronistaDataLayer[0].articleProperty.authorName.toUpperCase()];
+ }),
+ CondicionDeAcceso: SalesforceInteractions.DisplayUtils.pageElementLoaded("html").then(function (ele) {
+ return [window.cronistaDataLayer[0].articleProperty.conditionsOfAccess.toUpperCase()];
+ })
}
}
};
@@ -220,11 +310,13 @@ if (document.querySelector("#pagecontent .news") || document.querySelector("#pag
pages.push(article);
}
-//[home, payWall, article]
+//[home, payWall, article, logInWall, landingDolar, mercadosOnline]
function Pages() {
- pages.push(home, payWall);
+ pages.push(home, payWall, logInWall, landingDolar, mercadosOnline);
return pages;
}
+
+//MATCH PAGE
function PageType(name, myUrl, interaction, myEvents, isArticle) {
this.name = name;
this.isMatch = function () {
@@ -239,12 +331,27 @@ function PageType(name, myUrl, interaction, myEvents, isArticle) {
isMatch = true;
} else {
isMatch = url === "".concat(enviroment).concat(myUrl) ? true : false;
+ if (name == "Mercados Online" && validarParteDeURL(url, "MercadosOnline")) {
+ isMatch = true;
+ console.log("La URL contiene la parte especificada.");
+ }
}
return isMatch;
};
this.interaction = interaction;
this.listeners = GenerateListeners(name, myEvents);
}
+function validarParteDeURL(url, parte) {
+ // Escapar caracteres especiales en la parte de la URL para usar en la expresión regular
+ var parteEscapada = parte.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
+
+ // Crear una expresión regular con la parte de la URL
+ var regex = new RegExp(parteEscapada);
+
+ // Verificar si la URL contiene la parte especificada
+ console.log(regex.test(url));
+ return regex.test(url);
+}
function GlobalActions(actionEvent) {
url = window.location.href;
if (email) {
@@ -258,6 +365,7 @@ function GlobalActions(actionEvent) {
actionEvent.user.attributes.name = firstName;
actionEvent.user.attributes.lastName = lastName;
actionEvent.user.attributes.date = dateTime;
+ actionEvent.user.attributes.isAnonimus = isAnonimus;
actionEvent.user.identities.userIdCms = idUser;
}
return actionEvent;
@@ -336,17 +444,33 @@ function ReadGlobalEvents(event, listeners) {
if (listeners.labelName == 'Breadcrumb') {
dataName = listeners.labelName + ": " + nameTarget;
}
+ if (listeners.labelName == 'Botón - Iniciar sesión') {
+ var emailAnonimus = SalesforceInteractions.cashDom(".input.username .username").val();
+ email = emailAnonimus;
+ }
+ if (listeners.labelName == 'Botón - Registrarme') {
+ var _emailAnonimus = SalesforceInteractions.cashDom(".vsmemail input").val();
+ var userNameRegister = SalesforceInteractions.cashDom(".vsmusername input").val();
+ firstName = userNameRegister;
+ email = _emailAnonimus;
+ }
+ if (listeners.labelName == 'dolares') {
+ dataName = "Cotización dólar: " + SalesforceInteractions.cashDom(event.currentTarget.querySelector(".name")).text();
+ }
if (isSend) {
SalesforceInteractions.sendEvent({
interaction: {
- name: dataName,
+ name: dataName
+ },
+ user: {
attributes: {
userIdCms: idUser,
name: firstName,
lastName: firstName,
isSuscriber: isSuscriber,
emailAddress: email,
- continueUrl: url
+ continueUrl: url,
+ isAnonimus: isAnonimus
}
}
});
src/mySiteMap.js 54(+48 -6)
diff --git a/src/mySiteMap.js b/src/mySiteMap.js
index f47919d..da8bc02 100644
--- a/src/mySiteMap.js
+++ b/src/mySiteMap.js
@@ -30,7 +30,7 @@ let globalListeners = [
{ class: ".session.with-avatar", labelName: 'Botón MENU mi perfil', ItPropagation: true },
{ class: ".session-options li:nth-child(2) a", labelName: 'Botón MI PERFIL', ItPropagation: true },
{ class: "#main-menu ul li a", labelName: 'TAGS', ItPropagation: false },
- { class: ".piece.markets.standard ul li", labelName: 'TICKERS', ItPropagation: false },
+ { class: "#page-header .piece.markets.standard ul li", labelName: 'TICKERS', ItPropagation: false },
{ class: ".mitem.pwa-signed-in.session-box", labelName: 'Botón MENU mi perfil (MOBILE)', ItPropagation: true },
{ class: ".mitem.pwa-signed-in.session-box .session-options li:nth-child(2) a", labelName: 'Botón MI PERFIL (MOBILE)', ItPropagation: true },
{ class: ".pwa-footer-fixed-bar .mitem.dolar", labelName: 'Botón MENU Dólar (MOBILE)', ItPropagation: false },
@@ -86,6 +86,11 @@ let articleListeners = [
{ class: `.b-member-black .button-wrapper`, labelName: 'Botón/Caja: Invertí en periodismo de calidad', ItPropagation: false },
]
+//SELECTORES LANDING DÓLAR
+let landingDolarListeners = [
+ { class: ".dolar .markets table tr", labelName: 'dolares', ItPropagation: false }
+]
+
//Interacciones
let homeInteractions = {
name: "Home"
@@ -99,9 +104,34 @@ let logInWallInteractions = {
name: "LogInWall"
}
+let landingDolarInteractions = {
+ name: "Landing Dólar"
+}
+
+let mercadosOnlineInteractions = {
+ name: SalesforceInteractions.CatalogObjectInteractionName.ViewCatalogObject,
+ catalogObject: {
+ type: "MercadosOnline",
+ id: window.cronistaDataLayer[0].articleProperty.id,
+ attributes: {
+ url: window.location.href,
+ name: SalesforceInteractions.cashDom(".section-header-title a").text(),
+ },
+ relatedCatalogObjects: {
+ TipoDeCotizacion: SalesforceInteractions.DisplayUtils.pageElementLoaded(
+ "html",
+ ).then((ele) => {
+ return [window.cronistaDataLayer[0].articleProperty.category.toUpperCase()]
+ }),
+ },
+ },
+}
+
const home = new PageType("Home", "cronista.com", homeInteractions, homeListeners, false);
const payWall = new PageType("PayWall", "cronista.com/suscripciones", payWallInteractions, payWallListeners, false);
const logInWall = new PageType("LogInWall", "cronista.com/ingresa", logInWallInteractions, logInWallListeners, false);
+const landingDolar = new PageType("Landing Dólar", "cronista.com/MercadosOnline/dolar.html", landingDolarInteractions, landingDolarListeners, false);
+const mercadosOnline = new PageType("Mercados Online", "cronista.com/MercadosOnline", mercadosOnlineInteractions, mercadosOnlineInteractions, false);
if (document.querySelector("#pagecontent .news") || document.querySelector("#pagecontent .news-minisite") || document.querySelector("#pagecontent .news-es") || document.querySelector("#pagecontent .news-mx")) {
@@ -148,12 +178,13 @@ if (document.querySelector("#pagecontent .news") || document.querySelector("#pag
pages.push(article)
}
-//[home, payWall, article, logInWall]
+//[home, payWall, article, logInWall, landingDolar, mercadosOnline]
function Pages() {
- pages.push(home, payWall, logInWall)
+ pages.push(home, payWall, logInWall, landingDolar, mercadosOnline)
return pages
}
+//MATCH PAGE
function PageType(name, myUrl, interaction, myEvents, isArticle) {
this.name = name;
this.isMatch = () => {
@@ -168,6 +199,9 @@ function PageType(name, myUrl, interaction, myEvents, isArticle) {
isMatch = true
} else {
isMatch = (url === `${enviroment}${myUrl}` ? true : false);
+ if (name == "Mercados Online" && validarParteDeURL(url, "MercadosOnline")) {
+ isMatch = true
+ }
}
return isMatch;
@@ -176,6 +210,12 @@ function PageType(name, myUrl, interaction, myEvents, isArticle) {
this.listeners = GenerateListeners(name, myEvents);
}
+function validarParteDeURL(url, parte) {
+ const parteEscapada = parte.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
+ const regex = new RegExp(parteEscapada);
+ return regex.test(url);
+}
+
function GlobalActions(actionEvent) {
url = window.location.href
if (email) {
@@ -296,6 +336,10 @@ function ReadGlobalEvents(event, listeners) {
email = emailAnonimus
}
+ if (listeners.labelName == 'dolares') {
+ dataName = "Cotización dólar: " + SalesforceInteractions.cashDom(event.currentTarget.querySelector(".name")).text()
+ }
+
if (isSend) {
SalesforceInteractions.sendEvent({
interaction: {
@@ -362,7 +406,6 @@ function esURLValida(url) {
enviroment = regex[0]
}
-
SalesforceInteractions.init({
cookieDomain: "cronista.com",
}).then(() => {
@@ -383,5 +426,4 @@ SalesforceInteractions.init({
pageTypes: Pages()
};
SalesforceInteractions.initSitemap(sitemapConfig);
-});
-
+});
\ No newline at end of file