Joomla 3.3自定义扩展允许浏览器缓存


Joomla 3.3 Custom Extension allowing browser cache

我最近将Joomla自定义扩展移植到3.3.x,我最初为1.3编写了该扩展,并且已经在2.x上运行了很多年。

它是一个标准扩展,显示显示每条记录的各种字段的记录列表。用户单击一个表单,显示列出的字段和其他字段。用户更新值并单击保存并关闭。记录正确保存,但浏览器不会刷新上一页,而只是重新显示原始页面。结果是用户认为它不起作用,第二次单击所述记录并显示具有正确值(如第一次尝试更新)值的表单。现在沮丧的用户责怪程序员。

出于非常好和不可避免的原因,在我将网站移植到 Joomla 3.3 的同时,我还必须从内部托管服务器迁移到 Zen 托管服务器。我在 Zen 上还有其他几个客户端,但没有遇到过这个问题,所以我怀疑我的用户责怪程序员是正确的。

我找不到与缓存和自定义扩展相关的任何内容,并且缓存的站点设置为关闭。该模板使用 JAT3 插件,但至少已经这样做了四年。作为Joomla升级的一部分,对此进行了更新。

我不确定您是否看到浏览器或服务器缓存命中。无论哪种情况,解决方案都非常简单:在表单的 POST 请求中添加一个随机数,或者,如果控制器正在执行重定向,则也在那里添加一个随机参数。

我知道它不干净,但这是解决过度缓存的一种简单有效的方法。

如果可以在组件中指定正确的过期标头,则可能也可以解决此问题;但我不知道T3缓存的实现 - 除了我曾经遇到过不好的时间。

使用

JAT3 插件的模板使用自己的缓存。您可以检查其设置是否启用了缓存。您应该检查的另一件事是 error_log .