3

我正在构建一个系统让用户输入验证码,并且用户可以刷新图像以获取另一个验证码单词。所以我用这段代码来刷新图像。

    captchaImage.setUrl("/SimpleCaptcha.jpg");

它在 Chome 中运行良好,但在 Firefox 中无法运行。

那么有没有其他简单的方法来刷新在 GWT 中的所有浏览器中工作的图像?

4

3 回答 3

4

如果您的新 URL 与以前的 URL 相同,则它什么也不做。如果您生成具有相同文件名的新图像,一个简单的解决方法是使 URL 唯一,以便强制浏览器重新加载:

captchaImage.setUrl("/SimpleCaptcha.jpg?" + System.currentTimeMillis());

这使得 URL 类似于"/SimpleCaptcha.jpg?89109801890180130189"

于 2013-08-08T19:55:16.813 回答
0

尝试将服务器端生成的验证码图像保存在 Web 应用程序下的文件夹中:

webapp/生成验证码/SimpleCaptcha.jpg

在 GWT java 代码中,执行如下操作:

Image image = new Image("http://yourdomain/yourapp/generatedcaptcha/SimpleCaptcha.jpg");

它应该工作。

于 2013-08-08T16:04:45.530 回答
0

/path正在从表示文件所在浏览器的域中获取绝对路径http://domain/SimpleCaptcha.jpg

如果你想使用相对路径,你需要删除斜杠:

captchaImage.setUrl("SimpleCaptcha.jpg");

Chrome 之所以有效,是因为它同时测试相对路径和绝对路径。Firefox 不起作用,因为它更严格。

于 2013-08-08T18:02:54.780 回答