Si queremos detectar cuando nuestro iframe cambia de página debemos sobreescribir el evento onLoad. Es importante que una vez capturemos esa navegación volvamos a aplicar el pushState por defecto para que el navegador tenga constancia del histórico. Ejemplo: <iframe onLoad { () => { const pushState = () => { const defaultPushState = iframeContentRef.contentWindow.history.pushState; return function (data: any, title: string, url?: string | null) { //YOUR CODE return defaultPushState.apply(this, [data, title, url]); }; }; iframeContentRef.contentWindow.history.pushState = pushState(); }} src={IFRAME_URL}> </iframe>
Etiqueta: iframe
Detectar si una página se está cargando dentro de un iframe
function inIframe () { try { return window.self !== window.top; } catch (e) { return true; } }