2

编辑:Mozilla 修复了这个错误。这个线程已经死了。

编辑:这是一个 Mozilla 错误。看到这个线程:https ://bugzilla.mozilla.org/show_bug.cgi?id=501853

我在这里有一个用于我的图像的精灵:http ://www.trailbehind.com/site_media/images/sprite.png

在 FireFox 3.5 中,每次我在地图上渲染图标时,似乎都会获取精灵,当您加载此页面和/或平移地图时,您可以在 Firebug 网络面板中看到该行为:http://www.trailbehind。 com/node/1148091/

我以前在 Internet Explorer 中遇到过类似的问题,但我最终在 Safari 3/4、FF 2/3 和 IE 6/7/8 中得到了这个问题。现在,FF 3.5 出了点问题 :(

我试图将此代码放在文档中以预先缓存图像,但无济于事:

  var pre = new Image();
  pre.src = "/site_media/images/sprite.png"; 

这是稍后创建地图标记(并再次获取精灵图像)的代码。它可能与 GMaps 相关 - 它似乎没有获取精灵来在左侧绘制每个图标或其他图像......只是地图。

//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;
}
4

4 回答 4

1

FireFox 3.5 从服务器加载图像并且没有正确使用缓存似乎存在问题。谷歌“firefox 3.5 not caching images”,你会注意到很多人注意到这个问题。

于 2009-09-01T07:17:31.097 回答
1

这是官方的FireFox 3.5 错误。简单的 hack 是为所有截断的对象创建两个类:一个对所有具有背景图像的对象通用,第二个具有背景位置。都是孩子!)

于 2009-09-22T07:29:59.907 回答
0

它与 gmaps JS 相关。您应该使用指向现有变量的指针(变量的副本),例如:

defaulticon.sprite = {image:"/site_media/images/sprite.png", top:0};

myicon.sprite = defaulticon.sprite;
myicon2.sprite = defaulticon.sprite;
etc.
于 2009-07-01T22:39:06.330 回答
0

我看到你使用 Lighttpd。您可能希望对静态文件使用Module: mod_expire。将它们设置为一个月或更长时间后过期。您可以在Yahoo上找到更多相关信息。

于 2009-09-01T07:28:07.207 回答