Firefox 3.5 As buscas Imagem Sprite repetidamente - como evitar?
-
21-08-2019 - |
Pergunta
EDIT: Mozilla corrigiu o bug. Esta discussão está morto.
EDIT: Este é um bug Mozilla. Veja este tópico: https://bugzilla.mozilla.org/show_bug.cgi?id= 501853
Eu tenho um uso I Sprite para minhas imagens aqui: http: // www. trailbehind.com/site_media/images/sprite.png
No Firefox 3.5, o sprite parece ter buscado cada vez que eu tornar um ícone no meu mapa, você pode ver o comportamento no painel Net Firebug quando você carregar esta página e / ou deslocar o mapa: http://www.trailbehind.com/node/1148091/
Eu tinha tido anteriormente problemas semelhantes a este no Internet Explorer, mas eu tinha finalmente chegado a este trabalho no Safari 3/4, 2/3 FF e IE 6/7/8. Agora, algo está errado no FF 3.5: (
Eu tentei colocar esse código no do documento para prec-cache a imagem, mas sem sucesso:
var pre = new Image();
pre.src = "/site_media/images/sprite.png";
Aqui está o código que depois cria os marcadores de mapa (e recupera a imagem do sprite novamente). Pode ser GMaps relacionados -. Não parece buscar um sprite para desenhar cada ícone ou imagem otheer à esquerda ... apenas o mapa
//returns an image-like GIcon based on a sprite
function getGIconSprite(attr) {
var myicon = new GIcon(G_DEFAULT_ICON);
myicon.sprite = {image:"/site_media/images/sprite.png", top:0};
myicon.iconSize = new GSize(16,16);
myicon.iconAnchor = new GPoint(8,8);
myicon.shadow = null;
myicon.sprite.left = attr.offset*16;
return myicon;
}
Solução
Esta é oficial FireFox 3.5 bug . truque simples para isso é criar duas classes para todos os objetos cortou: um comum para todos imagem de fundo com, ea segunda com a posição de fundo. Isso é todas as crianças!)
Outras dicas
Parece haver um problema com o Firefox 3.5 carregar imagens a partir do servidor e que não usam o cache corretamente. Google "firefox 3.5 não cache imagens" e você vai notar um monte de gente percebendo este problema.
é gmaps JS relacionados. você deve usar um ponteiro (copiar da variável) para a variável existente, tais como:
defaulticon.sprite = {image:"/site_media/images/sprite.png", top:0};
myicon.sprite = defaulticon.sprite;
myicon2.sprite = defaulticon.sprite;
etc.
Eu vejo você usa Lighttpd. Você pode querer usar Módulo: mod_expire para seus arquivos estáticos. Configurá-los para expirar após um mês ou até mais. Você pode encontrar mais informações sobre isso em Yahoo .