IE8映像LoadHandler上的GWT2.0.3未间歇性调用

IE8映像LoadHandler上的GWT2.0.3未间歇性调用,gwt,internet-explorer-8,Gwt,Internet Explorer 8,是否有人遇到过在映像上注册LoadHandler的问题,并且在加载映像时LoadHandler有时不会被调用?有什么巫术可以让它起作用吗?像一些荒谬的初始化顺序?这让我快发疯了 该代码适用于Firefox、Chrome、IE6和IE7。该映像已附加到DOM(我知道如果未附加映像,将不会调用LoadHandler) 编辑 我已将较大的代码缩减为以下代码段 private void loadNext() { if (count < urlList.size()) Ima

是否有人遇到过在映像上注册LoadHandler的问题,并且在加载映像时LoadHandler有时不会被调用?有什么巫术可以让它起作用吗?像一些荒谬的初始化顺序?这让我快发疯了

该代码适用于Firefox、Chrome、IE6和IE7。该映像已附加到DOM(我知道如果未附加映像,将不会调用LoadHandler)

编辑

我已将较大的代码缩减为以下代码段

private void loadNext() {
    if (count < urlList.size())
        Image displayImage = new Image();
        displayImage.addLoadHandler(new ImageLoadHandler());
        displayImage.addErrorHandler(new ImageLoadError());
        mainPanel.add(displayImage);
        displayImage.setUrl(urlList.get(count));
        return;
    }
}

private class ImageLoadHandler implements LoadHandler {
    public void onLoad(LoadEvent event) {
        count ++;
        Log.TRACE("Success");
        loadNext();
    }
}

private class ImageLoadError implements ErrorHandler {
    public void onError(ErrorEvent event) {
        Log.ALERT("Error");
    }
}
private void loadNext(){
如果(计数
因此,基本上,一旦上一个完成加载,就会一个接一个地加载图像。出现的问题是IE8中的第一个图像显示为红色x,并且捕捉到错误。现在,如果我右键单击图像并单击“show picture”,它就会显示出来,并触发一些事件,比如onLoad事件被触发,其余的图像加载时不会出错!现在,一个突然的onLoad事件开始工作,所有其他相同类型的图像不再是一个错误

URL列表是指向图像的URL列表。URL不包含图像类型的扩展名。URL会转到生成图像的servlet。我已注意在响应中设置正确的内容类型标题(图像/jpeg)

此外,如果我右键单击损坏的图像,IE8显示它不知道其类型。如果我复制URL,将其粘贴到地址栏中,即自行加载图像。现在它似乎知道不在标记中的类型

非常令人沮丧


谢谢。

我也遇到了同样的问题,经过几天的检查,我们发现这是IE8的内部缺陷及其图像缓存。如果是第一次使用,请尝试删除完整的浏览器历史记录。如果是您的情况,那么工作解决方案是将dummyParam添加到每个图像URL(使用值,例如new Date().timeInMilis()或类似值)。我仅为user.agent=ie8启用了此参数


我真的很害怕IE9:(.

我也遇到了同样的问题,经过几天的检查,我们发现这是IE8的内部缺陷及其图像缓存。如果它第一次工作,请尝试删除完整的浏览器历史记录。如果是您的情况,那么有效的解决方案是将dummyParam添加到每个图像URL(具有值,例如new Date().timeInMilis()或类似的内容)。我仅为user.agent=ie8启用了此参数


我真的很害怕IE9:(.

事实证明,这是一个已知的问题


更新到GWT2.1应该可以解决这个问题。

事实证明,这是一个已知的问题


更新到GWT 2.1应该可以解决这个问题。

发布代码如何?这可能会帮助人们了解发生了什么。发布代码如何?这可能会帮助人们了解发生了什么。