de </body>) • Nunca dejes el src de un <img> vacío! (Petición extra al servidor) • Especifica width y height de <img> • < # cookies = < bandwith = > velocidad • < # elems DOM = > velocidad render = > UX HTML Structure
mantiene entre sesiones/tabs/ventanas • Siempre en un mismo browser • 5-10 MB por dominio usualmente • Desactivable por el usuario! • No es increíblemente rápido, pero no está mal • URL: http://dev.w3.org/html5/webstorage/ Web Storage
ejecuta” -> “la página más ligera es la que no tiene contenido” Response.Status = "204 No Content"; • Perfecto para keep-alives y pings • Mejor que un tracking pixel si podemos hacer peticiones AJAX Tracking pixels, keep-alives
function () { var g = document.createElement('script'); var s = document.getElementsByTagName('script')[0]; g.src = ‘http://kartones.net/myJS.js'; s.parentNode.insertBefore(g, s); } </script> • Si se usa JQuery, meterlo dentro de: jQuery(document).ready(function(){ /* … */ }); Loading & Execution (II)
DOM • Aplicar display: none (reflow + repaint) o visibility: hidden (repaint) • Mover o animar un nodo DOM • Añadir un stylesheet • Añadir un atributo style • Acciones del usuario: Redimensionado de ventana, cambio de tamaño de fuente, scroll • URL: http://kartones.net/r.ashx?NR Reflows / Repaints (II)
len=divs.length; i < len; i++) { var div = document.getElementsByTagName("div")[i]; // ... } var divs = document.getElementsByTagName("div"); for (var i=0, len=divs.length; i < len; i++) { var div = divs[i]; // ... } Loops (II)
CSS en una carpeta (ej: “styles”) 2. Link a la carpeta con /css de sufijo: <link href="styles/css" rel="stylesheet" /> • También minimiza (2x1!) • + Info: http://kartones.net/r.ashx?NQ ASP.NET 4.5 Bundling