none
Problema con iframe en IE8

    Question

  • Hola amigos del foro, tengo el siguiente problema.

    Tengo un iframe que contiene un texto, este no se visualiza bien en Internet explorer 8, pero si se ve bien en Google Crome. El problema con IE 8 es que aparece un scroll horizontal (me muestra el texto practicamente horizontal)

    Llevo varios dias dandole vuelas al asunto y no puedo encontrar una solucion. Gracias por toda ayuda.

    Utilizo Asp.net 2.0 y C#

    <IFRAME style="TEXT-JUSTIFY: auto; WIDTH: 750px; DIRECTION: ltr; HEIGHT: 500px; TEXT-ALIGN: justify" src="Articulos/<%=this.articulo1%>" frameBorder="0" width=700 scrolling=yes height=500></IFRAME>


    Wednesday, September 22, 2010 2:46 AM

Answers

  • Hola,

    Apoyandonos con la recomendación de Leandro,

    en tu código aspx en lugar del iframe, agrega un textarea:

    <textarea id="txtContenidoArchivo" runat="server" readonly="readonly"
       style="height: 500px; width: 700px; overflow-x: hidden; overflow-y: auto; border: 0;"></textarea>
    

    y en tu código de servidor (yo utilizó c#) agrega:

    StreamReader objReader = new StreamReader(Server.MapPath("~/archivos/archivo.txt"));
        txtContenidoArchivo.Value = objReader.ReadToEnd();
        objReader.Close();

    Para utilizar el StreamReader agrega el nombre de espacio System.IO

    Saludos!!!

    Wednesday, September 22, 2010 6:57 PM

All replies

  • hola

    no has probado definiendo en el iframe

    scrolling="no"

    o sea si el probema es el scroll con esto lo quitarias

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Wednesday, September 22, 2010 3:27 AM
  • Hola Leandro, he intentado de todo en el iframe y nada funciona... si le pongo scrolling="no", lo que hace eso es no mostrar el scroll, pero el texto lo sigue enviando practicamente en forma horizontal.

    Donde no me da problemas es en Chrome, ahi se ve muy bien.

     

    Hay otra manera de visualizar un archivo de texto.txt que no sea por iframe, alguna otra manera que sea mejor ? Ya que me gustaría que este se auto-ajuste si es un texto mas largo o corto (esto porque al final del texto van a ir comentarios de algunos usuarios, si el iframe es grande y el articulo es breve, los comentarios estarían muy abajo del texto por lo que seria estéticamente no muy bien visto) 

    Wednesday, September 22, 2010 3:35 AM

  • lo que me parece sucede es que el browser lo esta interpretando como un texto plano sin formato

    si dentro del texto.text, pones tag del estilo <br /> seguro vas a visualziar corerecto el archivo

    al menos para descartar que no se esto prueba de poner los <br /> para validar que el IE tome el salto de linea

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Wednesday, September 22, 2010 3:40 AM
  • no funciona tampoco, el salto de linea lo toma bien... lo que esta haciendo es mostrarme todo el texto del salto de linea en una sola linea.

    el iframe respeta los saltos de linea pero el texto lo envía todo en una pura linea, después del otro salto de linea ocurre lo mismo ya que me sigue mostrando el texto que sigue en una sola linea (Ahí me muestra el scroll horizontal para poder ver el texto completo con lo que se ve muy mal).

    En fin de cuentas, tengo un texto relativamente corto que son 8 lineas en el cual tengo tres puntos aparte. Todo el texto en el iframe me lo muestra en 3 lineas (solo respetó los puntos aparte o saltos de linea).

    el tema me tiene bien complicado, ya que si el texto es breve como este que tengo de prueba, el iframe queda muy grande (si achico el iframe y el texto es grande aparecerían los scrolls, cosa que no quiero... por eso necesito algo que se autoajuste al tamaño del texto ya que mas abajo iran comentarios)

     

    Pd: Hay alguna otra manera de visualizar textos ya sea mejorando el iframe ? 

    Wednesday, September 22, 2010 4:01 AM
  • alguien que me pueda orientar un poco ? 

    Saludos.

    Wednesday, September 22, 2010 2:46 PM
  • Hola,

    El problema radica en que cuando el archivo de texto se muestra en el frame, el frame en automatico asigna algunas tags para mostrar el contenido del archivo, uno de ellos es el tag <PRE> que es precisamente el tag que le indica al navegador que debe mostrar un bloque de texto preformateado.

    http://www.htmlquick.com/es/reference/tags/pre.html

    Pero este tag no permite el atributo width. Lo admite el navegadir firefox, y en todo caso para este tag el atributo width indica cuantos caracteres debe mostrar en línea.

    Cuál es la idea de esos archivos de texto que muestras en el iframe?, solo para que nos demos una idea del contexto y ver si podemos proponer alguna alternativa.

    Saludos.

    Wednesday, September 22, 2010 2:57 PM
  •  

    Hay alguna otra manera de visualizar textos ya sea mejorando el iframe ?

    no has probado usando un textarea

    Tag HTML textarea

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Wednesday, September 22, 2010 3:12 PM
  • Hola avm-net, mira lo que tengo que hacer es lo siguiente:

    Se trata de una pagina de noticias, donde en la pagina principal muestro el titulo, un detalle y una imagen de la noticia, al darle click al titulo me redirecciona  a otra pagina en la cual me muestra el titulo, detalle, imagen, fecha y el articulo que es mas menos de media hoja de un Word (este lo tengo en un archivo de texto.txt) mi problema es como muestro el archivo de texto.txt.

    Pd: Por ejemplo aquí mismo, como se muestra esto que estoy escribiendo, si el texto es largo me muestra todo el texto y el cuadro es grande, ahora si el texto es corto me mostrara un texto chico y un cuadro chico…

    Pd2: Gracias por la atencion al post :)

     

    Wednesday, September 22, 2010 6:32 PM
  • Hola,

    Apoyandonos con la recomendación de Leandro,

    en tu código aspx en lugar del iframe, agrega un textarea:

    <textarea id="txtContenidoArchivo" runat="server" readonly="readonly"
       style="height: 500px; width: 700px; overflow-x: hidden; overflow-y: auto; border: 0;"></textarea>
    

    y en tu código de servidor (yo utilizó c#) agrega:

    StreamReader objReader = new StreamReader(Server.MapPath("~/archivos/archivo.txt"));
        txtContenidoArchivo.Value = objReader.ReadToEnd();
        objReader.Close();

    Para utilizar el StreamReader agrega el nombre de espacio System.IO

    Saludos!!!

    Wednesday, September 22, 2010 6:57 PM
  • Funcionó muy bien avm-net.

    Lo ultimo, ¿ sabes como hacer para que respete los acentos ? ya que ahora solo me muestra un "?" en vez de un "acento"

     

    Muchas gracias avm-net :)

    Pd: Votando por las respuestas

    Wednesday, September 22, 2010 7:18 PM
  • Que tal,

    Un comentario en el ejemplo anterior omiti una línea de código: objReader.Close();

    Debe quedar así:

    StreamReader objReader = new StreamReader(Server.MapPath("~/archivos/archivo.txt"));
      txtContenidoArchivo.Value = objReader.ReadToEnd();
      objReader.Close();
    

    Respecto a los acentos, ya probaste agrenado este atributo al aspx:  ResponseEncoding="utf-8"

    Debes agregarlo en la primer línea de tu aspx:

    <%@ Page  ResponseEncoding="utf-8" %>

    Si esto soluciona el problema de los acentos, agrega entonces en tu web.config, la siguiente línea para que aplique para toda la aplicación web.

    <globalization culture="es-MX" uiCulture="es-MX" requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="utf-8" />
    

    En mi caso es "es-MX", porque estoy en México.

    Saludos!!!

     

     

    Wednesday, September 22, 2010 9:04 PM
  • Hola avm-net, mira puse esto en el web.config

    <globalization culture="es-CL" uiCulture="es-CL" requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="utf-8" />

    no funciona con utf-8

    ademas tengo el iframe que utilizaba antes de poner el codigo que me diste y tampoco reconoce el utf-8 pero si pongo esto:

    <globalization culture="es-CL" uiCulture="es-CL" requestEncoding="iso-8859-1" responseEncoding="iso-8859-1" fileEncoding="iso-8859-1" />

    Con esto funciona el iframe pero el textarea sigue sin reconocer el los acentos ni la Ñ  

    Gracias por la ayuda avm-net    

    Wednesday, September 22, 2010 9:33 PM