IFrame de la Cruz-Domain

  • s15199d
  • Expert
  • Expert
  • Avatar de Usuario
  • Registrado: Feb 20, 2004
  • Mensajes: 524
  • Loc: NC, USA
  • Status: Offline

Nota Agosto 20th, 2009, 2:32 pm

Tengo pageA en domainA que necesita para cargar un pageB en domainB.

He utilizado un iframe. Bastante simple. Dulce obras grandes.

pageB en domainB cargas pageB2 en domainB dentro de mi iframe en pageA. Thats de nuevo exactamente lo que quiero.

El problema es pageB es 2000px de altura. Así que me puse mi iframe que se 2000px de altura. PERO, pageB2 es 800px de altura. Por lo tanto, terminar con 1200px de blanco. Claro que podría establecer el iframe a 800px de alto y activar el desplazamiento, pero no quiero que se desplaza.

Por demasiado tiempo jugando con Ive sido redimensionado dinámicamente usando el iframe javascript. Si usted encuentra un cambio de tamaño javascript "solución" en Google, probablemente he probado. El problema es la seguridad de los errores de javascript para el cruce de dominios y saber la compatibilidad del navegador IE.

AJAX no es transversal, ya sea de dominio, ¿no?

Quiero algo un div, lo que sea, que se carga el contenido y el tamaño de pageB para encajar que pageB2 cuando está cargado. Quiero este elemento a vivir en mi pageA.

Cualquier sugerencia sería pensamientos muy apreciado .
Imagen
Give a man a fish he eats for a day. Teach a man to fish he eats for a lifetime.
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Agosto 20th, 2009, 2:32 pm

  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • Avatar de Usuario
  • Registrado: Jul 25, 2005
  • Mensajes: 2735
  • Loc: Nashville, TN
  • Status: Offline

Nota Agosto 20th, 2009, 2:53 pm

No entiendo por qué los enfoques javascript wouldnt trabajo. Usted puede usar el DOM iframes para averiguar el tamaño de la página y, a continuación, ajustar el css para que coincida con iframes? Id puesto algo, pero usted ha dicho Youve probado, por lo que tal vez usted puede compartir lo que has intentado y podemos echar un vistazo?
I'd love to change the world, but they won't give me the source code.
  • s15199d
  • Expert
  • Expert
  • Avatar de Usuario
  • Registrado: Feb 20, 2004
  • Mensajes: 524
  • Loc: NC, USA
  • Status: Offline

Nota Agosto 21st, 2009, 5:16 am

IFrames Proxy: (no)
http://shouldersofgiants.co.uk/Blog/pos ... nique.aspx

Sondeo: (no)
http://geekswithblogs.net/rashid/archiv ... 03518.aspx

Proxy y Centros de Votación: (no)
http://softwareas.com/cross-domain-comm ... th-iframes

Cookie: (acabo de encontrar este...tratando ahora)
http://www.fitchett.me/?p=150

Si alguien tiene otras ideas, me todos los oídos !
Imagen
Give a man a fish he eats for a day. Teach a man to fish he eats for a lifetime.
  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • Avatar de Usuario
  • Registrado: Jul 25, 2005
  • Mensajes: 2735
  • Loc: Nashville, TN
  • Status: Offline

Nota Agosto 21st, 2009, 6:35 am

Usted puede ser demasiado atrapados en la cruz-dominio. Eso no necesariamente necesita para su caso. Intentado algo como esto?
Código: [ Select ]
 
    <script type="text/javascript">
        function setIframeHeight(iframeName) {
          //var iframeWin = window.frames[iframeName];
          var iframeEl = document.getElementById? document.getElementById(iframeName): document.all? document.all[iframeName]: null;
          if (iframeEl) {
          iframeEl.style.height = "auto"; // helps resize (for some) if new doc shorter than previous
          //var docHt = getDocHeight(iframeWin.document);
          // need to add to height to be sure it will all show
          var h = alertSize();
          var new_h = (h-148);
          iframeEl.style.height = new_h + "px";
          //alertSize();
          }
        }
 
        function alertSize() {
          var myHeight = 0;
          if( typeof( window.innerWidth ) == 'number' ) {
            //Non-IE
            myHeight = window.innerHeight;
          } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
            //IE 6+ in 'standards compliant mode'
            myHeight = document.documentElement.clientHeight;
          } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
            //IE 4 compatible
            myHeight = document.body.clientHeight;
          }
          //window.alert( 'Height = ' + myHeight );
          return myHeight;
        }
    </script>
   
</head>
 
<body onload="setIframeHeight('ifrm');">
 
  1.  
  2.     <script type="text/javascript">
  3.         function setIframeHeight(iframeName) {
  4.           //var iframeWin = window.frames[iframeName];
  5.           var iframeEl = document.getElementById? document.getElementById(iframeName): document.all? document.all[iframeName]: null;
  6.           if (iframeEl) {
  7.           iframeEl.style.height = "auto"; // helps resize (for some) if new doc shorter than previous
  8.           //var docHt = getDocHeight(iframeWin.document);
  9.           // need to add to height to be sure it will all show
  10.           var h = alertSize();
  11.           var new_h = (h-148);
  12.           iframeEl.style.height = new_h + "px";
  13.           //alertSize();
  14.           }
  15.         }
  16.  
  17.         function alertSize() {
  18.           var myHeight = 0;
  19.           if( typeof( window.innerWidth ) == 'number' ) {
  20.             //Non-IE
  21.             myHeight = window.innerHeight;
  22.           } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
  23.             //IE 6+ in 'standards compliant mode'
  24.             myHeight = document.documentElement.clientHeight;
  25.           } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
  26.             //IE 4 compatible
  27.             myHeight = document.body.clientHeight;
  28.           }
  29.           //window.alert( 'Height = ' + myHeight );
  30.           return myHeight;
  31.         }
  32.     </script>
  33.    
  34. </head>
  35.  
  36. <body onload="setIframeHeight('ifrm');">
  37.  


O así?

Código: [ Select ]
 
<html>
<script type="text/javascript">
function autoIframe(frameId){
try{
frame = document.getElementById(frameId);
innerDoc = (frame.contentDocument) ? frame.contentDocument : frame.contentWindow.document;
objToResize = (frame.style) ? frame.style : frame;
objToResize.height = innerDoc.body.scrollHeight + 10;
}
catch(err){
window.status = err.message;
}
}
</script>
 
 
<body>
 
<iframe id="tree" name="tree" src="tree.htm" onload="if (window.parent && window.parent.autoIframe) {window.parent.autoIframe('tree');}"></iframe>
 
</body>
 
</html>
 
  1.  
  2. <html>
  3. <script type="text/javascript">
  4. function autoIframe(frameId){
  5. try{
  6. frame = document.getElementById(frameId);
  7. innerDoc = (frame.contentDocument) ? frame.contentDocument : frame.contentWindow.document;
  8. objToResize = (frame.style) ? frame.style : frame;
  9. objToResize.height = innerDoc.body.scrollHeight + 10;
  10. }
  11. catch(err){
  12. window.status = err.message;
  13. }
  14. }
  15. </script>
  16.  
  17.  
  18. <body>
  19.  
  20. <iframe id="tree" name="tree" src="tree.htm" onload="if (window.parent && window.parent.autoIframe) {window.parent.autoIframe('tree');}"></iframe>
  21.  
  22. </body>
  23.  
  24. </html>
  25.  
I'd love to change the world, but they won't give me the source code.
  • s15199d
  • Expert
  • Expert
  • Avatar de Usuario
  • Registrado: Feb 20, 2004
  • Mensajes: 524
  • Loc: NC, USA
  • Status: Offline

Nota Agosto 21st, 2009, 8:35 am

La solución cookie anterior no funciona en IE6 o IE7.

UPSGuy, Im que va a probar las dos opciones que usted ha presentado, pero tengo mis dudas acerca de ser capaz de leer la altura de la página de otro dominio con javascript. Espero que demuestre que estoy equivocado.
Imagen
Give a man a fish he eats for a day. Teach a man to fish he eats for a lifetime.
  • s15199d
  • Expert
  • Expert
  • Avatar de Usuario
  • Registrado: Feb 20, 2004
  • Mensajes: 524
  • Loc: NC, USA
  • Status: Offline

Nota Agosto 21st, 2009, 9:14 am

UPSGuy...Muy cerca de...

1) La segunda opción que usted propuso, no ir a trabajar

2) ¡Ah, pero la primera...es un poco de trabajo

En primer lugar, que funciona en FF, IE6 y IE7 que es mejor que cualquier otra cosa Ive intentado.

Pero, su lectura de la misma altura para todos los 3 de mis páginas que el acceso a mensajería instantánea a través de mi iFrame. pageB, pageB2, pageB3 por mi ejemplo original.

Heres mi página de prueba: http://qa.chiefsupply.com/visual_badge.asp

El único cambio en su código que Ive hizo fue poner la llamada a la función javascript en el onload iFrame en lugar del cuerpo onload para que la función se llama a cada vez que cambie de página en el iframe.

¿Alguna idea por qué su alertar a la misma altura para todas las 3 páginas? pageB debe ser el doble de lo pageB2 & pageB3.

Gracias por adelantado!
Imagen
Give a man a fish he eats for a day. Teach a man to fish he eats for a lifetime.
  • s15199d
  • Expert
  • Expert
  • Avatar de Usuario
  • Registrado: Feb 20, 2004
  • Mensajes: 524
  • Loc: NC, USA
  • Status: Offline

Nota Agosto 21st, 2009, 2:12 pm

...thats apenas esperar encontrar la altura de mi pantalla no la altura de la página que se carga...es por eso la altura es la misma en las 3 páginas...

tan...¿Cómo puedo encontrar el tamaño de la página se carga en el iframe si es de otro dominio??
Imagen
Give a man a fish he eats for a day. Teach a man to fish he eats for a lifetime.
  • s15199d
  • Expert
  • Expert
  • Avatar de Usuario
  • Registrado: Feb 20, 2004
  • Mensajes: 524
  • Loc: NC, USA
  • Status: Offline

Nota Agosto 21st, 2009, 2:30 pm

Esto funciona como un campeón, si el pageB está en mi dominio

Código: [ Select ]
iframeEl.contentWindow.document.body.scrollHeight


tan pronto como pageB está en un dominio diferente que obtener el permiso denegado JS errores.

Cualquier dieas otro?
Imagen
Give a man a fish he eats for a day. Teach a man to fish he eats for a lifetime.
  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • Avatar de Usuario
  • Registrado: Jul 25, 2005
  • Mensajes: 2735
  • Loc: Nashville, TN
  • Status: Offline

Nota Agosto 22nd, 2009, 4:59 am

No, no lo he probado mucho fuera de eso, lo siento. Ive se encontró con cuestiones intersectoriales de dominio antes y, en esencia chupar. Div. acepta el atributo src de la misma manera el iframe no, usted ha intentado este enfoque? Tal vez usted puede overflow: auto y dejar que determinar la altura?
I'd love to change the world, but they won't give me the source code.
  • s15199d
  • Expert
  • Expert
  • Avatar de Usuario
  • Registrado: Feb 20, 2004
  • Mensajes: 524
  • Loc: NC, USA
  • Status: Offline

Nota Agosto 24th, 2009, 5:15 am

UPSGuy Gracias por sus sugerencias!

atributo src div no funciona en Internet Explorer 7 o FF3.5

¿Alguien tiene alguna idea aquí? Im cerca acerca de las ideas, y el tiempo se está poniendo muy corto. I def podría utilizar sus pensamientos.
Imagen
Give a man a fish he eats for a day. Teach a man to fish he eats for a lifetime.
  • s15199d
  • Expert
  • Expert
  • Avatar de Usuario
  • Registrado: Feb 20, 2004
  • Mensajes: 524
  • Loc: NC, USA
  • Status: Offline

Nota Agosto 24th, 2009, 8:08 am

Acabo de intentar combinación de los siguientes

Script de Dynamic Drive es AJAX AJAX a toda la página:
http://www.dynamicdrive.com/dynamicinde ... ontent.htm

Script Mixendo a permitir el AJAX a través de dominios:
http://dev.mixendo.com/wiki/Mixendo_XHR_Demos

Trabajó en FF3.5 impresionante. Wasnt apoyado en IE7.
Imagen
Give a man a fish he eats for a day. Teach a man to fish he eats for a lifetime.
  • s15199d
  • Expert
  • Expert
  • Avatar de Usuario
  • Registrado: Feb 20, 2004
  • Mensajes: 524
  • Loc: NC, USA
  • Status: Offline

Nota Agosto 25th, 2009, 10:49 am

Heres el último...

Im utilizando con éxito flXHR encontrar aquí http://flxhr.flensed.com/

A AJAX a través de dominios. Obras en FF3.5, IE7 y IE6

I pageB éxito puede cargar en un div en páginaA.

Im sigue trabajando en los datos de carga pageB2 en un div en páginaA. Eso es la última pieza de este puzzle. Una vez que resolver, Ill publicar mi código.

Si alguien está familiarizado con flXHR y tiene sugerencias sobre cómo lograr esto, Id agradecemos su ayuda.
Imagen
Give a man a fish he eats for a day. Teach a man to fish he eats for a lifetime.
  • s15199d
  • Expert
  • Expert
  • Avatar de Usuario
  • Registrado: Feb 20, 2004
  • Mensajes: 524
  • Loc: NC, USA
  • Status: Offline

Nota Agosto 26th, 2009, 5:25 am

Wow, qué viaje...

Yo tengo un prototipo de trabajo aquí http://qa.chiefsupply.com/visual_badge.asp

Una breve explicación:

Yo uso flXHR AJAX para permitir a través de dominios, y el contenido de la carga de una página de 3 ª parte en un div que contiene en mi página.

Puedo usar jQuery para apropiarse de los enlaces de la página 3 ª parte y hacer que la carga en mi div que contiene.

Para el camino completo a través de malos punto que en el foro flXHR donde el administrador del sitio shadedecho amablemente a tragar me flXHR y jQuery
http://flxhr.flensed.com/discuss/viewto ... f=14&t=103
Imagen
Give a man a fish he eats for a day. Teach a man to fish he eats for a lifetime.
  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • Avatar de Usuario
  • Registrado: Jul 25, 2005
  • Mensajes: 2735
  • Loc: Nashville, TN
  • Status: Offline

Nota Agosto 26th, 2009, 7:38 am

wow, creo que me han dado y repensar mi diseño, pero felicitaciones a usted por apegarse a cabo. Esperamos que el proto ofrece lo que usted necesita. Lo siento, no podría ser de más ayuda.
I'd love to change the world, but they won't give me the source code.
  • pierslawson
  • Born
  • Born
  • No Avatar
  • Registrado: Sep 16, 2009
  • Mensajes: 1
  • Status: Offline

Nota Septiembre 16th, 2009, 2:13 pm

Hola s15199d,

Usted menciona el ejemplo de iFrames entre dominios en ShoulderOfGiants y cómo no funciona. Se estaba trabajando para IE8 y FF. Ya he arreglado para trabajar con FF, IE8, IE7 y IE6...Que debiera haber consultado a todos fuera mejor!

Espero que la nueva versión ayuda.
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Septiembre 16th, 2009, 2:13 pm

Publicar Información

  • Total de mensajes en este tema: 15 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 278 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC