Javascript - How To Make Sure CSS/JS Files Are Not Cached On Browser
Nov 9, 2010
How do i make sure that for particular ASP.NET page CSS/JS file will not be cached on browser side (each time its loaded from server)?
Anything that can be done using the server side code?
We have an ASP.NET web application and it's hosted using IIS 6.0, in the app we have these several javascript and css files located in a folder, and for performance sake (according to YSlow) we set the folder content expiration header to 1 year. Everything worked just fine until recently when we deployed the latest build to the server, in which we had made some changes to those javascript and css files. For some reason after the deployment some of our end users don't see the latest changes when they connected to the app, even after they cleared the cache in IE. We have also restarted the IIS on the server and the problem still remained. When I went into the IE Temporary Internet Files folder on one of these machines I saw the files were still the older version and not the latest one, I had to manually delete the files from the Temporary Internet Files folder then they were able to see the latest changes. I'm baffled by this, how come only some users who couldn't see the changes but some others do (without having to do anything by the way), and how do I make sure that for future releases we won't have to do anything like what did (manually deleting the cached files)? For now I disabled the Content Expiration option in IIS for these files but I would like to know if there is a way that I can enable the content expiration (to help performance) but at the same time making sure when the files are updated, the latest version will be used for the end user (instead of the cached version)?
I am developing a website in ASP.NET and I am using various javascript frameworks/libraries. The different files belonging to these frameworks/libraries rarely changes thus there is no reason to refresh those files once they have been sent to the client browser (atleast not everytime a page is served).I see that the HttpContext object can be used somehow, that I can set the content expiration on the files/folders on the IIS, or maybe setup somekind of caching in the web.config file. 1. What is best practice/what approach should I take
I built the asp.net website in release mode, set the debug flag to false in web.config, but still some of the webresource.axd and scriptresource.axd and javascript files are not getting cached. fiddler shows the status code "200" for these items instead of "304". what else I am missing to cache these files?
I'm looking for possible ways for sending files from browser to server. One obvious way is using form with enctype='multipart/form-data'. I wonder if there are other ways than this.
The reason I ask you this question is this file uploader: http://aspnetajax.componentart.com/control-specific/upload/features/core_features/WebForm1.aspx
It's not flash based, but it sends the file in a way that it gives you a progress bar, but when you send a file with form with enctype='multipart/form-data' the whole file will be send to the server so you can't actually show a progress bar of uploading process.
The Stylesheet in the App_Theme folder gets cached in the browser. What should be the approach? so that whenever there is a new deployment the browser should take the latest stylesheets and not the one cached in the browser.
This was happening for other css(which are not in theme folder) too, so used custom control as mentioned in the link
[URL]
How this could be done for the CSS in the Theme folder?
Edit: The theme name is mentioned in the web.config as mentioned below. so its not just the html link tag which I had solved by using the method mentioned in the link.
"Firstly check if "default.aspx" page is cached on the browser or not; if yes then Response.Redirect("default1.aspx"); else Response.Redirect("default2.aspx")
I want a browser to go full screen as soon as my page loads. Is it possible in javascript. I know the shortcut key for this F11 but requirement is on page load only.
After reading the solution provided below. I achieved full screen but here i got a trap. I was using timer to make my page postback to get fresh data after every 5 second. And here I found after every 5 sec new window opens up but I want full screen to go only once and next time content gets refreshed there itself.
I've seen "What is an elegant way to force browsers to reload cached CSS/JS files?" but the answer there uses PHP and it doesn't address the fact that the CSS is injected dynamically by an ASP.Net Theme.
I have used a external js file for a upload operation in my page.. once the file get loaded in temporary folder, it gets loaded from there even if new changes are made the old version that exist in temp folder gets loaded... i have writtenResponse.Cache.SetCacheability(HttpCacheability.NoCache); on my page But it still loads the js file in cache. When i cleared the temporary files manually it works fine...But i cannot ask my client to clear temp folder,,,Is there any solution to load js file not from the cache, ie reload every time page is loaded...
The problem is when I send AJAX (XmlHttpRequest) request from other page to this page, that response does not get cached on any browser but IE. (On IE, it gets cached even if I don't specify). How do I make it cache?
In asp.net page, How can i call the javascript methods for form processing-submitting if the user browser supports javascript and use code behind events if the browser does not support javascript.I have the javascript code to send the form data to an ajax server page using jquery. Don't know how to invoke the needed one based on the browsers javascript availability
we are working on one of our site which is having lots of javascript code.but while testing one of our tester has disabled javascript in browser.so in this scenario javascript code is not working properly. So can any one let me know is thr any work around to run javascript code while browser javascript is disabled.
I think I summed up the question in the title. Here is some further elaboration...I have a web user control that is used in multiple places, sometimes more than once on a given page.The web user control has a specific set of JavaScript functions (mostly jQuery code) that are containted within *.js files and automatically inserted into page headers.However, when I want to use the control more than once on a page, the *.js files are included 'n' number of times and, rightly so, the browser gets confused as to which control it's meant to be executing which function on.What do I need to do in order to resolve this problem? I've been staring at this all day and I'm at a loss.
I'm trying to make a web page that only has content within the page itself. The page itself should not have scrollbars (although individual parts should have scrollbars). I want it to look very similar to how the Java API is laid out here, http://java.sun.com/javase/6/docs/api/, but without frames.
I am developing a application similar to a forum. I want to attach documents in .doc and .PDF formats. I want to know how could i download these attachments and open directly in a browser without saving the downloaded document.
I have an ASP.Net site on which we're using control adapters. We have the adapters mapped to a "refID" of "Default." These adapters are working fine on all browsers except Chrome and Safari. For those browsers, they do not execute. I've given up trying to figure out why -- I have a question here on SO that no one has been able to answer, and I've been researching it for days now. It's just inexplicable.
I have tested the same code in my local environment, and it works just fine. Additionally, no one else can replicate my problem on other servers. It seems to be somehow confined to the machines at my client's site. Could they be somehow out-of-date? If this is the case, is there some way to "update" the .browser files? I'm half-tempted to just copy the .browser files out of the Framework directory from my machine over to theirs, but I'm curious is there's something more formal than this? Is there some other source of data that ASP.Net uses for browser detection other than these files?