HTML - Redimensinar IFrame según su contenido

 
Vista:
sin imagen de perfil
Val: 12
Ha disminuido su posición en 4 puestos en HTML (en relación al último mes)
Gráfica de HTML

Redimensinar IFrame según su contenido

Publicado por gonzalo (8 intervenciones) el 21/04/2017 19:54:51
estoy usando un IFrame para mostrar una tabla, el problema es que tengo las dimenciones del iframe fijas,
algunas veces la tabla muestra mas columnas o menos columnas dependiendo de la solcitud del clente.
es posible ajustar el iframe al ancho de la tabla?

salu2

este es el ejemplo que estoy usando.

1
<iframe src="Solicitud.php" style="height:600px;width:250px;overflow:auto;">
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 1.144
Oro
Ha mantenido su posición en HTML (en relación al último mes)
Gráfica de HTML

Redimensinar IFrame según su contenido

Publicado por xve (1543 intervenciones) el 22/04/2017 12:31:23
Hola Gonzalo, si la pagina que carga el iframe es del mismo dominio, puedes hacerlo...

En la pagina que tiene el iframe, tienes que tener algo como:

1
2
3
4
5
6
7
8
9
10
<script>
  // Resize iframe to full height
  function resizeIframe(height)
  {
    // "+60" is a general rule of thumb to allow for differences in
    // IE & and FF height reporting, can be adjusted as required..
    document.getElementById('frame_name_here').height = parseInt(height)+60;
  }
</script>
<iframe id='frame_name_here' src='http://www.bar.net/framed.html'></iframe>

Y en la pagina que se inserta dentro del iframe, algo como:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<html>
<!-- 
This page is on the same domain as the parent, so can
communicate with it to order the iframe window resizing
to fit the content 
-->
  <body onload="parentIframeResize()">
    <script>
      // Tell the parent iframe what height the iframe needs to be
      function parentIframeResize()
      {
         var height = getParam('height');
         // This works as our parent's parent is on our domain..
         parent.parent.resizeIframe(height);
      }

      // Helper function, parse param from request string
      function getParam( name )
      {
        name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
        var regexS = "[\\?&]"+name+"=([^&#]*)";
        var regex = new RegExp( regexS );
        var results = regex.exec( window.location.href );
        if( results == null )
          return "";
        else
          return results[1];
      }
    </script> 
  </body>
</html>

De esta manera, desde el código de la pagina que se carga dentro del iframe, envías la altura al parent, es decir a la pagina que carga el iframe.

http://stackoverflow.com/questions/153152/resizing-an-iframe-based-on-content
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha disminuido su posición en 4 puestos en HTML (en relación al último mes)
Gráfica de HTML

Redimensinar IFrame según su contenido

Publicado por gonzalo (8 intervenciones) el 24/04/2017 15:53:45
Gracias xve, lo voy a revisar.

salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Redimensinar IFrame según su contenido

Publicado por Israel Piña Martinez (1 intervención) el 04/10/2019 16:58:54
Gracias, es código más sencillo y efectivo que encontré
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar