16

当您尝试此公共页面时:http ://slim.nl/shop/default.aspx (更新:同时此站点已更改,因此无法再测试此问题的行为),您会注意到一个菜单栏。如果您点击F5,该栏中的菜单就会消失。当您通过浏览器中的后退按钮进入该页面时也是如此。它只发生在 Firefox 上(见于版本 3-7)。使用Ctrl- F5,菜单栏重新出现。

据我所知,在加载页面时触发的所有 JavaScript 事件,包括任何 AJAX 循环,在使用返回按钮刷新页面F5或通过返回按钮到达该页面时也应该触发。这里发生了什么事?

我想从程序员的角度知道F5Ctrl-之间的区别是什么F5,最好比这种情况更普遍。当然,除非它是 Firefox 中的错误。

在此处输入图像描述

4

4 回答 4

14

Ctrl+F5清除浏览器中的缓存文件,因为它F5只是刷新页面,但它使用缓存文件。例如,假设您加载页面对 css 文件进行更改并按刷新或上传F5。页面只是刷新并且不获取新修订的css文件命中ctrl+F5它清除页面的缓存并再次从服务器获取文件。然后,这将加载显示更改的新 css 文件。

于 2011-10-14T13:44:33.910 回答
11

Firefox 不仅缓存加载的文件,还缓存对页面所做的更改(用户输入,甚至是 JavaScript 对属性所做的更改)。检查这个。因此,如果您的菜单取决于某些属性,您只需hard-refresh单击CTRL+即可F5

于 2011-10-14T14:55:24.137 回答
2

ctrl+F5 只会强制忽略缓存。也许您有一个微妙的异步编程错误,只有在您有更快的页面加载(由于使用缓存)时​​才会出现。

于 2011-10-14T13:48:06.853 回答
0

该问题已通过将 \js\dnn.controls.dnnmenu.js 文件回滚到以前的版本来解决。不知道那里出了什么问题(没有时间调试),但无论如何现在它可以工作了:)

于 2012-01-06T12:24:04.637 回答