我的Grails应用程序重复发出相同图像(js驱动时钟)的http get请求。我需要做什么才能做到这一点?

时间:2011-12-03 12:55:01

标签: javascript grails

我有一个Grails应用程序(2.0 RC1),它使用由图像组成的时钟来显示包括秒的时间。时钟是一个简单的JavaScript函数,可以获取时间,然后更新图像源以显示正确的图像。整个应用程序和它的时钟工作正常。

我试图解决的问题是,每次时钟更新(即每秒一次)图像源时,http get请求都会发送到服务器而不是使用缓存的图像。

当页面加载到Image()对象时,会预先缓存图像。然后,该函数计算时间并更新图像,如下所示:

document.getElementById('hour1').src = eval('window.' + 'num' + hour1 + '.src')

其中“num”+ hour1是要显示的Image()对象的名称。 gsp中的元素是img标记。

我花了几个小时寻找答案,但无济于事......我是否必须使用“缓存资源”插件来获取任何缓存?如果是这样,在这种情况下有人可以告诉我如何使用它吗?我玩弄了但是还没能让它工作......

1 个答案:

答案 0 :(得分:1)

首先,不要那样使用eval()。将此eval()替换为:

window["num" + hour1].src

其次,您的浏览器将发送GET请求,服务器应响应304 - Not Modified,这将导致浏览器使用缓存的图像。您的浏览器是为每个请求提供图像,还是发送304状态代码?