Contenido
Crisis en la industria de medios
// ------------------------------------------------------------------------------------------------------------------------------- // PHOTOSWIPE
var initPhotoSwipeFromDOM = function(gallerySelector) {
// parse slide data (url, title, size ...) from DOM elements // (children of gallerySelector) var parseThumbnailElements = function(el) { var thumbElements = el.childNodes, numNodes = thumbElements.length, items = [], figureEl, linkEl, size, item;
for(var i = 0; i < numNodes; i++) {
figureEl = thumbElements[i]; //
// include only element nodes if(figureEl.nodeType !== 1) { continue; }
linkEl = figureEl.children[0]; // element
size = linkEl.getAttribute('data-size').split('x');
// create slide object item = { src: linkEl.getAttribute('href'), w: parseInt(size[0], 10), h: parseInt(size[1], 10) };
if(figureEl.children.length > 1) {
//
if(linkEl.children.length > 0) {
// thumbnail element, retrieving thumbnail url
item.msrc = linkEl.children[0].getAttribute('src');
}
item.el = figureEl; // save link to element for getThumbBoundsFn items.push(item); }
return items; };
// find nearest parent element var closest = function closest(el, fn) { return el && ( fn(el) ? el : closest(el.parentNode, fn) ); };
// triggers when user clicks on thumbnail var onThumbnailsClick = function(e) { e = e || window.event; e.preventDefault ? e.preventDefault() : e.returnValue = false;
var eTarget = e.target || e.srcElement;
// find root element of slide var clickedListItem = closest(eTarget, function(el) { return (el.tagName && el.tagName.toUpperCase() === 'FIGURE'); });
if(!clickedListItem) { return; }
// find index of clicked item by looping through all child nodes // alternatively, you may define index via data- attribute var clickedGallery = clickedListItem.parentNode, childNodes = clickedListItem.parentNode.childNodes, numChildNodes = childNodes.length, nodeIndex = 0, index;
for (var i = 0; i < numChildNodes; i++) { if(childNodes[i].nodeType !== 1) { continue; } if(childNodes[i] === clickedListItem) { index = nodeIndex; break; } nodeIndex++; } if(index >= 0) { // open PhotoSwipe if valid index found openPhotoSwipe( index, clickedGallery ); } return false; };
// parse picture index and gallery index from URL (#&pid=1&gid=2) var photoswipeParseHash = function() { var hash = window.location.hash.substring(1), params = {};
if(hash.length < 5) { return params; } var vars = hash.split('&'); for (var i = 0; i < vars.length; i++) { if(!vars[i]) { continue; } var pair = vars[i].split('='); if(pair.length < 2) { continue; } params[pair[0]] = pair[1]; } if(params.gid) { params.gid = parseInt(params.gid, 10); } return params; }; var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) { var pswpElement = document.querySelectorAll('.pswp')[0], gallery, options, items; items = parseThumbnailElements(galleryElement); // define options (if needed) options = { // define gallery index (for URL) galleryUID: galleryElement.getAttribute('data-pswp-uid'), getThumbBoundsFn: function(index) { // See Options -> getThumbBoundsFn section of documentation for more info var thumbnail = items[index].el.getElementsByTagName('img')[0], // find thumbnail pageYScroll = window.pageYOffset || document.documentElement.scrollTop, rect = thumbnail.getBoundingClientRect();
return {x:rect.left, y:rect.top + pageYScroll, w:rect.width}; }
};
// PhotoSwipe opened from URL if(fromURL) { if(options.galleryPIDs) { // parse real index when custom PIDs are used // http://photoswipe.com/documentation/faq.html#custom-pid-in-url for(var j = 0; j < items.length; j++) { if(items[j].pid == index) { options.index = j; break; } } } else { // in URL indexes start from 1 options.index = parseInt(index, 10) - 1; } } else { options.index = parseInt(index, 10); } // exit if index not found if( isNaN(options.index) ) { return; } if(disableAnimation) { options.showAnimationDuration = 0; } // Pass data to PhotoSwipe and initialize it gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options); gallery.init(); }; // loop through all gallery elements and bind events var galleryElements = document.querySelectorAll( gallerySelector ); for(var i = 0, l = galleryElements.length; i < l; i++) { galleryElements[i].setAttribute('data-pswp-uid', i+1); galleryElements[i].onclick = onThumbnailsClick; } // Parse URL and open gallery if it contains #&pid=3&gid=1 var hashData = photoswipeParseHash(); if(hashData.pid && hashData.gid) { openPhotoSwipe( hashData.pid , galleryElements[ hashData.gid - 1 ], true, true ); } }; // execute above function initPhotoSwipeFromDOM('.my-gallery'); // ====================================== // FIN SCRIPTS PHOTOSWIPE // ======================================
Creaba cifras millonarias de la nada: por sólo multiplicar a partir de intereses sobre intereses la deuda, por manejar el miedo como palanca para las aseguradoras, por acelerar el consumo de bienes superfluos, y produciendo aquello que dejaba ganancias inmediatas sin considerar la afectación al medio ambiente y a la vida de las personas.
Ese mecanismo se atoró, se desaceleró y en algunos casos sacó del mercado a las industrias no indispensables.
Ejemplos de lo anterior: ciertos medios de entretenimiento. Conciertos masivos, venta de boletos por Ticketmaster, complejos de salas cinematográficas como Cinépolis, radio y televisoras apoyadas en la publicidad, no están pudiendo continuar en el tamaño que tenían, y se reducen sensiblemente para ver si así pueden subsistir.
En México, el caso de la radiodifusión es significativo. Grupo Radio Centro, que apenas el año pasado puso al aire su canal La Octava, hoy vendió su frecuencia 97.7 FM al Grupo MVS. La operación alcanzó el monto de 500 millones de pesos, y con ello espera reflotar a su Canal 8.1 de señal abierta y remediar un tanto el peso de su deuda.
Acostumbrado el Grupo Radio Centro a que le condonaran o difirieran los impuestos, no los tuvo entre sus prioridades de pago. En consecuencia, el Servicio de Administración Tributaria tiene abierto un litigio en su contra. Ya este año se vio precisado a pagar 52 millones de pesos. Hay juicios pendientes que sin duda mermarán aún más sus finanzas.
Las dificultades de Grupo Radio Centro no fueron tomadas en cuenta por el Ifetel (Instituto Federal de Comunicaciones), organismo que aprueba sin investigar las condiciones económicas y el desempeño de cara a la audiencia, antes de otorgar a los solicitantes más concesiones. La Octava abrió con muchas expectativas por el perfil de sus periodistas, sin embargo pronto se estancó.
TVAzteca también está en aprietos por varias decisiones en busca del mayor lucro. Apostó a los deportes pues usualmente dejaban mucho dinero, tanto el poseer equipos como la transmisión de los juegos, todo ello sobre bases especulativas. Eso salió del esquema por el confinamiento.
Por otro lado asumió que podía pagar una deuda millonaria cuyo acrecentamiento por el aumento en el precio del dólar es significativo. Los ingresos netos que reportó en 2019 (Informe Anual) son 665 millones de dólares, poco menos de 100 millones que en 2018. Y estos dos trimestres, aun no reportados, serán más drásticos.
Para ello ha decidido deshacerse de su club de futbol Atlas y cedérselo a su anterior socio, Orlegi Sports & Entertainment. Apostó también por una red en internet y ahora no tiene los recursos para sostenerla. Y su homóloga Televisa no se encuentra exenta de dificultades.
Seguramente después de la pandemia lo que veremos son fusiones o ventas que acrecentarán más la concentración de los capitales. Esperemos que haya regulaciones prohibiendo los monopolios de facto y la propiedad cruzada.
Comentarios
// Obtener todos los elementos con clase .col-md-12 var colElements = document.querySelectorAll('.col-md-12');
// Iterar sobre cada elemento colElements.forEach(function(element) { // Verificar si tiene un hijo inmediato con clase .titulo-region var tituloRegion = element.querySelector('.titulo-region');
if (tituloRegion) { // Agregar la clase .is-sticky al elemento padre element.classList.add('is-sticky'); } });
// Obtener el elemento article dentro de .fila-especial-v2 .p50 var articleElement = document.querySelector('.home .fila-especial-v2 .p50 article');
// Obtener el texto del elemento .z-foto .bajada p var bajadaText = articleElement.querySelector('.z-foto .bajada p').textContent;
// Crear un nuevo elemento para mostrar el texto obtenido var textoElement = document.createElement('p'); textoElement.textContent = bajadaText;
// Obtener el elemento .z-txt .titulo dentro del article var tituloElement = articleElement.querySelector('.z-txt .titulo');
// Insertar el nuevo elemento al final del article articleElement.appendChild(textoElement);
Cortesía de Proceso.
Dejanos un comentario: