Esta pieza es parte de Desarmar la Corrupción, la APP: explora los 447 textos del blog por tema, autor, lugar y año.Abrir la APP
Desarmar la CorrupciónBlog de anticorrupción · Nexos × Mexicanos Contra la Corrupción y la Impunidad
(function(){
/* ---- ajustes que manda quien embebe, por la URL ---- */
var q = new URLSearchParams(location.search);
var raiz = document.documentElement.style;
/* Dentro de un marco (o si el navegador ni deja preguntarlo, que tambien es
un marco de otro origen), el margen lateral lo pone quien hospeda. */
try { if (window.self !== window.top) document.documentElement.classList.add('en-marco'); }
catch (e) { document.documentElement.classList.add('en-marco'); }
var ancho = parseInt(q.get('ancho'), 10);
if (ancho > 0) raiz.setProperty('--ancho', ancho + 'px');
var aire = q.get('aire');
if (aire !== null && aire !== '' && !isNaN(parseInt(aire, 10))) {
raiz.setProperty('--aire-movil', parseInt(aire, 10) + 'px');
}
/* ---- alto para quien embebe ---- */
var ultimo = 0, pendiente = 0;
/* El reintento va con temporizador y NO con requestAnimationFrame: en una
pestaña de segundo plano el navegador congela los cuadros de animación y
la pieza se quedaría con su alto de arranque para siempre. */
function reintentar(){
if (pendiente) return;
pendiente = setTimeout(function(){ pendiente = 0; avisarAlto(); }, 150);
}
function avisarAlto(){
var c = document.querySelector('.pieza'); if (!c) return;
var caja = c.getBoundingClientRect();
/* Nunca se reporta un alto medido con ancho CERO: el texto se parte letra
por letra y el alto sale disparado. Un alto absurdo deja media pantalla
en blanco sin dar ningún error. */
if (caja.width < 40) { reintentar(); return; }
var h = Math.ceil(caja.height) + 8;
if (h === ultimo) return;
ultimo = h;
try{ parent.postMessage({tipo:'mcci-embed-alto', slug:'desarmar-la-corrupcion-lite', alto:h}, '*'); }
catch(err){}
}
window.avisarAlto = avisarAlto;
window.addEventListener('resize', avisarAlto);
document.addEventListener('visibilitychange', avisarAlto);
if (window.ResizeObserver){
new ResizeObserver(function(){ avisarAlto(); }).observe(document.querySelector('.pieza'));
}
avisarAlto();
setTimeout(avisarAlto, 350);
if (document.fonts && document.fonts.ready) document.fonts.ready.then(avisarAlto);
})();