Controlar OnLoad para detectar la URL de navegación dentro de un iframe

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>

No Responses

Leave a Reply

Your email address will not be published. Required fields are marked *