Java GWT Image.onErrorHandler 未触发
Java GWT Image.onErrorHandler is not triggering
我在 GWT 上遇到图像加载问题。
在服务器端:
- 我有一个使用“https://github.com/chintanbuch/simplecaptcha”创建和传输验证码图像的 HttpServlet。
在客户端:
- 我通过将新 url 放入 GWT Image 对象来调用此 servlet。
但是,即使我使用本地主机,有时也无法显示图像。而且它永远不会触发“onError”,总是“onLoad”。
我该如何调试呢?请帮忙。
tbCaptcha = new TextBox();
imgCaptcha = new Image();
imgCaptcha.addErrorHandler(new ErrorHandler() {
public void onError(ErrorEvent event) {
d.ce("onCaptcha", "onError", System.currentTimeMillis());
onCaptcha.execute();
}
});
imgCaptcha.addLoadHandler(new LoadHandler() {
public void onLoad(LoadEvent event) {
d.cr("onCaptcha", "onLoad", System.currentTimeMillis());
}
});
var login = TGS_LibScaleServletUtils.login();
var newUrl = TGC_CaptchaUtils.newUrl(login.domain, login.port, login.spi);
imgCaptcha.setUrl(newUrl);
是的,我正在创建一个带有随机参数并使用 Image.prefetch 的新 URL,如下所示:
public static String newUrl(CharSequence domain, Integer port, CharSequence spi) {
var newUrlCaptcha = TGS_UrlBuilderUtils.https()
.domain(domain).port(port).directory(spi)
.fileOrServlet(TGS_SURLUtils.LOC_NAME)
.parameter(TGS_SURLUtils.PARAM_NAME, TGS_CaptchaUtils.SERVLET_REFRESH())
.parameterRandom("r", 10).toString();
Image.prefetch(newUrlCaptcha);
return newUrlCaptcha;
}
客户端控制台:
从 Dark Dark Theme 更改为 Light 浏览器主题。
由于验证码图像是透明的,带有黑色文本,与黑色背景相匹配。
我在 GWT 上遇到图像加载问题。
在服务器端:
- 我有一个使用“https://github.com/chintanbuch/simplecaptcha”创建和传输验证码图像的 HttpServlet。
在客户端:
- 我通过将新 url 放入 GWT Image 对象来调用此 servlet。
但是,即使我使用本地主机,有时也无法显示图像。而且它永远不会触发“onError”,总是“onLoad”。
我该如何调试呢?请帮忙。
tbCaptcha = new TextBox();
imgCaptcha = new Image();
imgCaptcha.addErrorHandler(new ErrorHandler() {
public void onError(ErrorEvent event) {
d.ce("onCaptcha", "onError", System.currentTimeMillis());
onCaptcha.execute();
}
});
imgCaptcha.addLoadHandler(new LoadHandler() {
public void onLoad(LoadEvent event) {
d.cr("onCaptcha", "onLoad", System.currentTimeMillis());
}
});
var login = TGS_LibScaleServletUtils.login();
var newUrl = TGC_CaptchaUtils.newUrl(login.domain, login.port, login.spi);
imgCaptcha.setUrl(newUrl);
是的,我正在创建一个带有随机参数并使用 Image.prefetch 的新 URL,如下所示:
public static String newUrl(CharSequence domain, Integer port, CharSequence spi) {
var newUrlCaptcha = TGS_UrlBuilderUtils.https()
.domain(domain).port(port).directory(spi)
.fileOrServlet(TGS_SURLUtils.LOC_NAME)
.parameter(TGS_SURLUtils.PARAM_NAME, TGS_CaptchaUtils.SERVLET_REFRESH())
.parameterRandom("r", 10).toString();
Image.prefetch(newUrlCaptcha);
return newUrlCaptcha;
}
客户端控制台:
从 Dark Dark Theme 更改为 Light 浏览器主题。 由于验证码图像是透明的,带有黑色文本,与黑色背景相匹配。