martes, 22 de mayo de 2012

superfish.com virus, javascript array asociativo, Chrome height() issue


  • Usando Chrome, cada vez que cargaba una página Avast me avisaba que estaba bloqueando la apertura de un site cuyo dominio es superfish.com.
    Revisando en la Internet, vi recomendaciones de desinstalar algunas extensiones como IE Tab o Fast Chrome, que yo no tengo instaladas.
    Probé inhabilitar todas las extensiones. El problema desapareció. Entonces era alguna de ellas. Luego fui habilitándolas de una en una. Resultó que el problema volvía a aparecer cuando habilitaba Read Later Fast (1.4.1). Así que la mantengo deshabilitada.
  • En javascript, para definir un array asociativo, se puede usar algo como:

    var pages = [];// pages es un array
    pages['page-1'] = {id:'page-1'};
    pages['page-2'] = {id:'page-2'};
    pages['page-3'] = {id:'page-3'};
    ...
    

    que es aceptado por Firefox; pero no por Chrome (al parecer un poco más estricto).
    Así que es mejor usar algo como:

    var pages = {};// pages es un object
    pages['page-1'] = {id:'page-1'};
    pages['page-2'] = {id:'page-2'};
    pages['page-3'] = {id:'page-3'};
    ...
    
    
    
  • En Chrome, la altura de un elemento que contiene una imagen puede no ser devuelta correctamente hasta que la imagen sea cargada completamente (si no se ha especificado antes el alto de la imagen o el alto del elemento). A diferencia de Firefox.
    Para prevenir esto, en lugar de usar, por ejemplo:

    $(document).ready(function() {
    var h = $('#page-1').height();
    });
    

    sería mejor usar, si fuera posible, algo como:

    $(window).load(function() {
    var h = $('#page-1').height();
    });
    

     es decir, esperar a que las imágenes estén cargadas antes de pedir el valor de height().