首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在GWT中,为什么image.setURL("/SimpleCaptcha.jpg")刷新图像在火狐中不起作用?

在GWT中,为什么image.setURL("/SimpleCaptcha.jpg")刷新图像在火狐中不起作用?
EN

Stack Overflow用户
提问于 2013-08-08 15:19:10
回答 3查看 1.1K关注 0票数 3

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

代码语言:javascript
复制
    captchaImage.setUrl("/SimpleCaptcha.jpg");

它在Chome中运行得很好,但在Firefox中却不起作用。

那么,还有其他简单的方法来刷新GWT中所有浏览器中的图像吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-08-08 19:55:16

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

代码语言:javascript
复制
captchaImage.setUrl("/SimpleCaptcha.jpg?" + System.currentTimeMillis());

这使得URL说出了类似于"/SimpleCaptcha.jpg?89109801890180130189"的内容

票数 4
EN

Stack Overflow用户

发布于 2013-08-08 16:04:45

尝试保存在web应用程序下的文件夹中生成的服务器端的captcha映像:

webapp/generatedcaptcha/SimpleCaptcha.jpg

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

代码语言:javascript
复制
Image image = new Image("http://yourdomain/yourapp/generatedcaptcha/SimpleCaptcha.jpg");

应该管用的。

票数 0
EN

Stack Overflow用户

发布于 2013-08-08 18:02:54

/path从域取绝对路径,表示文件位于http://domain/SimpleCaptcha.jpg处的浏览器。

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

代码语言:javascript
复制
captchaImage.setUrl("SimpleCaptcha.jpg");

Chrome之所以工作,是因为它测试的是相对路径和绝对路径。Firefox不能工作,因为它更严格。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18129847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档