1

我有一个应用程序,其中一个绝对正常的链接(如下所示).. 单击时,两次调用操作类。而这种行为只发生在 IE 中。在 Firefox 中,当我点击同一个链接时,它只调用一次动作类。

<a href="FileListAction.do"  title="Load"  target="_parent" id="c">Load</a>

这是一个较旧的应用程序,我使用的是 Struts 1.3 和 Tiles。知道为什么会发生这种情况和/或如何排除故障吗?

4

1 回答 1

0

可能是 IE 正在预加载预 链接。

要验证这一点,请记录收到请求的时间。加载页面,等待约 10 秒,然后单击链接。如果日志条目之间的差异约为 10 秒,则为预取。

这个想法是浏览器预加载用户可能点击的链接,因此结果可以立即形成浏览器缓存的服务器。

HTML5 通过定义rel="prefetch". 此属性和值可以设置在aarealink标记上。

检查您的页面<link rel="prefetch" href="url" /><link rel="next" href="url" />HEAD元素。此外,还要检查您的A标签是否有rel属性。

微软声称在 IE 11 中正式支持这一点

所有这些都是为了让页面看起来对用户更敏感。当被检索的页面不可缓存时,这可能会崩溃。这将导致当用户单击该页面时再次获取该页面。这可以通过采取措施确保结果可缓存来改进。设置适当的缓存头。有一个Private针对单个收件人的内容的缓存控件。它仅存储在私有缓存中,通常是用户的浏览器。

此外,如果您的页面不提供Content-length标头,则它可能不被视为可缓存的。

于 2013-09-18T11:49:17.967 回答