How to force a full refresh

On most web browsers, a force refresh can be accomplished with shift+reload or ctrl+reload.

Why would you ever need to do that? It's kind of a long story...

Remember when...

Back in the good old days of simple HTML, a web page was a simple, single text file sitting on a hard disk somewhere. It contained hyperlinks to other web pages or files to download, and that was about it.

The Web goes multimedia

Then in the early 90's, the world wide web started going multimedia. Pictures, sound clips, animations, and other such trinkets were embedded in web pages which contained references to these external files. Sometimes these files were even kept on other servers, for example one server for HTML files, and another server dedicated to storing the image files. This lead to a small issue with web browsers.

In order to save on network bandwidth, a web browser keeps a local cache of files on the hard drive that it references rather than re-downloading every single file from the network every time the page is displayed. If the web browser doesn't realize that the content has changed, it may use the old locally cached files rather than download the new files. This could result in problems like old versions of images showing up on web browsers after the content had been updated.

Today, HTML files are rarely self-contained entities. Any given web page will generally reference not only images and movies from other locations, but also Java, Javascript, or CGI code and cascading stylesheets, all of which provide dynamic content for today's exciting and interactive Web 2.0 environment.

Most of the time, these externally referenced files will not be changing very often. A stylesheet, for example, is very unlikely to change from minute to minute, or even day to day, as you browse a web site. This means that web browsers will try to use their locally cached version of these files to save on bandwidth and go easy on the servers that store this information.

Local cache problems

Unfortunately, there are cases in which these elements do change. When they do, a user may need to go one step beyond simply reloading, or refreshing, the web page. This will generally update dynamic content and the HTML file itself, but still reference locally cached versions of images, codes, scripts, and especially stylesheets. When you wish to manually force the web browser to check for a new version of these externally referenced elements, you may need to force refresh, also called force reload, full refresh, or full reload.

Force Refresh and Everything2

On Everything2, this is currently an issue for registered users because E2 allows users to generate their own stylesheets to customize the look and feel of Everything2's Zen theme interface. Additionally, Everything2 now uses a WYSIWYG editor called tinyMCE, which is an externally referenced javascript application — that is, not embedded in the page's HTML but rather referenced as an external file.

Ordinarily, a stylesheet will only change when the site's webmaster or other duly authorized designer or coder makes changes. In order to avoid confusing their users with rapid and constant changes, these updates are made infrequently, after being fully tested, and notifications are easy to send out. Tech support is often a click or an e-mail away. Not so on Everything2 if you are using one of our user-created stylesheets. These frequently update on a daily basis (or more!) while they're still in development, because not only are the developers amateurs and often just learning CSS, but they don't have access to all of the site's features and simply can't test every function themselves. Furthermore, developers can experience frustration if they don't know about the local caching, since updates to their own stylesheets may not take effect right away!

An extra complication raises its ugly head due to style defacer, a stylesheet editing feature that allows users to test stylesheet features before updating the stylesheet itself or to personalize the stylesheet's features. Code added to style defacer is added directly to the HTML file, and is not externally referenced, so a force refresh is not necessary to see the updates. Style defacer also does not currently affect chatterlight. Update: it does now.

On E2, if a stylesheet is not working properly, or if tinyMCE is not functioning the way it should, try a force refresh first to see if the problem clears up before you submit a report. It's entirely possible you're using an obsolete, locally cached version of an updated file.

Log in or register to write something here or to contact authors.