Microsoft MVP

Email y Rss

email rss

Klout

Seguidores en facebook

Timeline de mi Twitter

Tienes preguntas?

Ideas de un Conejo
Más allá de los sistemas de información: (C#)=> videojuegos, soluciones a problemas interesantes y Sistemas Operativos
XNA
C#
Sistemas Operativos
Varios
Metro
Acerca de

Como disminuir el tiempo de carga de nuestras web – los iframe

May 9th, 2012 by JuanK

TweetFollow @JuanKRuiz

Share

El tiempo de carga de nuestros sitios web es un tema complejo, abordarlo completamente fácilmente podría ser tema de un solo blog… y no hablemos de las diferencias entre hacerlo con plataformas .Net o LAMP o lo que sea. Es un tema largo.

Así que siempre hay que abordarlo desde lo más grande hasta lo más pequeño. En la web moderna es frecuente encontrarse con iframes puesto que la integración con diversos servicios como redes sociales, mapas y demas gadgets suele hacerse por medio del tag <iframe> , lo cual en resumen es un marco que despliega contenidos alojados en otra web.

El problema con los iframes es que funcionan de manera síncrina, es decir nuestra web esta cargando normalmente, encuentra un iframe y comienza a cargarlo, solo cuando el iframe es cargado por completo continua la carga de los demas elementos de nuestra web.

Lo ideal entonces es hacer que la carga de éstos iframe sea asincónica o bien dilatarla para que inicien su carga solo cuando todo nuestro sitio haya sido desplegado, esto lo podemos hacer manipulando alguno de los eventos de carga de la pagina y luego escribiendo los tag del iframe dinámicamente.

Este es un código de prueba de un iframe

<iframe id="gmap" name="gmap" width="100%" height="400" src="http://www.otraweb.com"></iframe>
    

Para cargarlo dinamicamente lo primero que haremos es envolverlo dentro de un nuevo div al cual llamaremos “#map-container”

<div id="map-container">
<iframe id="Iframe1" name="gmap" width="100%" height="400" src="http://www.otraweb.com"></iframe>
</div>
    

Ahora haremos la parte del evento de carga de la página, a mi me gusta hacerlo con JQuery, pero ya sabes que puedes hacerlo con lo que desees. Colocamos el código dentro del evento ready o algo similar de JQuery. El código es como sigue:

$(window).load(
    function()
    {
        $("#map-container").html(/*CONTENIDO AQUI*/);
    }
);
    

Así que ahora tomamos todo el contenido del tag <iframe> y lo enviamos como parámetro:

$(window).load(
    function()
    {
        var iframeString ='<iframe id="Iframe2" name="gmap" width="100%" height="400" src="http://www.otraweb.com"></iframe>';
        $("#map-container").html(iframeString);
    }
);
    

Y eso es todo, en adelante el tiempo de carga de tu página es independiente del tiempo de carga de los iframe ;) .

Print Friendly
Share

TweetFollow @JuanKRuiz

  • 2 Comentarios »
  • Publicado en la categoría 'Varios'

 

El control RichEditBox no muestra le formato de los documentos RTF aunque esten bien formados – Metro – Windows 8 – C#

May 8th, 2012 by JuanK

TweetFollow @JuanKRuiz

Share

Algunas veces cuando cargamos documentos RTF en un RichEditBox nos llevamos la no muy grata sorpresa de que aunque se muestra el texto correctamente los formatos aplicados a este, como color, negrita, itálica, etc. no son tenidos en cuenta.

Podemos abrir los RTF en editores comoWordpad y allí se muestran correctamente. Este problema se debe a que el control RichEditBox no esta preparado en todo momento para aplicar dichos formatos, razón por la cual no es recomendable asignar el texto del documento hasta no estar 100% seguro de que el control ha cargado en su totalidad, por ende se debe evitar cargar texto en este control en el constructor de su clase contenedora, y en su lugar hacerlo en el evento Loaded, ejemplo:

    <common:LayoutAwarePage
    x:Name="pageRoot"
    x:Class="Test.GroupDetailPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:Test"
    xmlns:data="using:Test.Data"
    xmlns:common="using:Test.Common"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">
    <RichEditBox x:Name="Richtest" Loaded="LoadedEventHandler"/>
</common:LayoutAwarePage>
    

Este es el code Behind

        private void LoadedEventHandler(object sender, Windows.UI.Xaml.RoutedEventArgs e)
        {
            var cadena = @"{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033{\colortbl;\red255\green0\blue0;}{\cf1 Hello World }{\b nice text}{\par}}";

            rich.Document.SetText(TextSetOptions.FormatRtf, cadena);
        }
    
Print Friendly
Share

TweetFollow @JuanKRuiz

  • No hay comentarios »
  • Publicado en la categoría 'C#, Metro, Windows 8'

 

1 2 3 … 41 42 Siguiente »

Redes Sociales

Follow @JuanKRuiz
Answer Questions

Busca en el blog

Nube de Temas

API - C# - codigo - Fiber - Forms - GeSHi - icon - IE - IE9 - imagenes - IT - Microsoft - MVP - Pinned - PowerShell - Proceso - rendimiento - RSS - sistema - Sistemas Operativos - Site - Thread - velocidad - Visual - WCF - Windows - WndProc - WPF - XML - XNA

Blogs recomendados

  • VBCodigoPocketPC Espacio para tratar temas de programacion para dispositivos moviles, Pocket PC, Compact Framework, Embbeded Visual Basic, Visual Basic.NET , C# (C Sharp)
  • Róbinson Moscoso Estaré publicando acá cosas sobre tecnologia .NET, situacioines cotidianas de las que voy aprendiendo… sirve como extensión de memoria.
  • .Net C# Blog de Nelsón Venegas
  • Warnov Microsoft Developer Evangelist
  • IT LIfe Blog de mi Hermano que esta en el lado claro: IT
  • Sorey Garcia Una chica del común con la firme intención de no serlo
  • Black Byte videojuegos, modelado y animación 3d
  • Road to IT World Cosas interesantes de IT
  • Marcela Chitiva Un poco de esto… un poco de aquello
  • Surviving the Nigth El mejor blog para aquellos que nos gustan los “internals”
  • Meta

    1. Log in
    2. WordPress

    Ideas de un Conejo is powered by Wordpress. Theme designed by Juan Carlos Ruiz.