Blog Calendar

January 2010
Sun Mon Tue Wed Thu Fri Sat
27 28 29 30 31 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 1 2 3 4 5 6

Visitors Statistics

6
77
11329

January 2010

Compartamos código

Cuando desarrollas aplicaciones de software a distancia, es común querer compartir código pero tenemos la limitante de que al hacerlo por correo no se ve el realzado de sintaxis y por mensajero es limitado el envío por los emoticons, el número de líneas o bien simplemente queremos que persista la información para un post en nuestro blog.
Claro que algunos blogs como Jaws, permiten compartir un código como el siguiente y con sus respectivos tags.
   1:  ParameterExpression pc = Expression.Parameter(typeof(Customer), "c");
   2:  
   3:  IQueryable<Customer> q3 =
   4:      dc.Customers.Where<Customer>
   5:      (
   6:          Expression.Lambda<Func<Customer, bool>>
   7:          (
   8:              Expression.Equal(
   9:              Expression.Property(pc, typeof(Customer).GetProperty("City")),
  10:              Expression.Constant("London", typeof(string))
  11:          ),
  12:          new ParameterExpression[] { pc }
  13:          )
  14:      );
 
Read More...

Internet Explorer 8 y la vista compatibilidad

Después de varios intentos por mejorar el IE, Microsoft ha procurado seguir de menos un estándar, en esta ocasión con la versión de IE 8 el equipo de desarrollo de IE ha procurado seguir el estándar 2.1 de las CSS [1] y es una de las cosas que más llaman la atención debido a que constantemente podemos ver el icono para activar la vista compatibilidad.


Compatibility View

Por default esta vista está deshabilitada, debido a que los desarrolladores de páginas web nos vemos forzados a solucionar este tipo de problemas por más sencillos que parezcan, existen algunas etiquetas que nos pueden ayudar. La primera es la que forza a que la página se vea con las características de IE8, esto quiere decir que nuestra página cumple con el estándar 2.1 de las CSS y por tal motivo evitamos que salga el icono en la barra del navegador

<meta http-equiv="X-UA-Compatible" content="IE=8" />
 
También tenemos otra opción para asegurarnos de que se habilite la vista compatibilidad cuando se carga la página.
<meta http-equiv="X-UA-Compatible" content="IE=Emulate7" />
 
Dicha etiqueta debe aparecer antes que cualquier otra etiqueta y debe estar situado en el de la página.
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="X-UA-Compatible" content="IE=Emulate7" />
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <title>TextboxList + Autocomplete demo</title>
  </head>
 
Otra opción de la cual podemos sacar provecho es la que provee el IIS 7, donde podemos editar el archivo de configuración y establecer que todas las páginas se comporten de forma predeterminada con la vista compatibilidad agregando lo siguiente en el web.config.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
   <system.webServer>
      <httpProtocol>
         <customHeaders>
            <clear />
            <add name="X-UA-Compatible" value="IE=EmulateIE7" />
         </customHeaders>
      </httpProtocol>
   </system.webServer>
</configuration>
 
Y por último se pude realizar esta verificación mediante JavaScript en la version 6 del IIS con el siguiente script.
function IsStandardsMode()
{
   !if(document.documentMode)
       return false;
   return (document.documentMode == 8);
}
 
[1] http://www.w3.org/TR/CSS2/