[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

How to disable the cache in Internet Explorer 7?

Posted on 2008-06-12
6
Medium Priority
?
10,416 Views
Last Modified: 2013-12-08
Hi

We are using a dinamic YUI tree view for reflect a folder structure.
We are trying to delete nodes from the tree, but when the browser executes the following code:

oTreeView.removeNode(oCurrentTextNode);
oTreeView.draw();

the node is not removed from the tree. Seems to be a client side cache problem on IE 7 (Firefox works fine).

We are trying to use cache control on our asp and html codes:

Into the ASP
<%

Response.CacheControl = "no-cache, must-revalidate";
Response.AddHeader("Pragma", "no-cache");
Response.Expires = -1;
%>

into the HTML page
    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    <META HTTP-EQUIV="Expires" CONTENT="-1">
    <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">

 but the issue persists

Below you will find the complete function that we are using for remove the node:

function DeleteNode(oTreeView , idNode) {            
                  
                  var callbackDelete = {
                              success : function(o) {
                                    //content.innerHTML = o.responseText;
                                    eval(o.responseText);
                                    
                                    if(isSuccessfulBL) {
                                    
                                          if(previusNode.labelElId == oCurrentTextNode.labelElId) {
                                                previusNode = null;
                                          }
                                          delete oTextNodeMap[oCurrentTextNode.labelElId];
                                          oTreeView.removeNode(oCurrentTextNode);
                                          oTreeView.draw();
                                          
                                          window.location = 'repository.asp';
                                          
                                    } else {
                                          getScreenResponse().innerHTML = messageBL;
                                          getScreenResponse().style.visibility = "visible";
                                    }
                                    //getScreenResponse().innerHTML = o.responseText;
                                    //getScreenResponse().style.visibility = "visible";
                                    //delete oTextNodeMap[oCurrentTextNode.labelElId];                        
                                    //oTreeView.removeNode(oCurrentTextNode);
                                    //oTreeView.draw();
                                    
                              },
                              failure : function(o) {
                                    //content.innerHTML = o.responseText;
                                    getScreenResponse().innerHTML = o.responseText;
                                    getScreenResponse().visibility = "visible";
                                    getScreenResponse().innerHTML = "CONNECTION FAILED! " + o.responseText;                         
                              }
                  } // End CallBackDelete
                  
                  // Connect to our data source and load the data
                  var url = "../../BussinessLayer/folder_BL.asp?" +
                                "<%=PARAM_ACTION%>"   + "=" + "<%=DELETE_FOLDER%>" + "&" +
                                "<%=PARAM_FOLDER_ID%>" + "=" + idFolder + "&"  +
                                "<%=USER_ID%>"        + "=" + <%= userId %> + "&" +
                                "<%=PARAM_BOOL_DELETE%>"     + "=" + "true";  
                                
                  var conn = YAHOO.util.Connect.asyncRequest("GET", url, callbackDelete);
            } // END DeleteNode()\

How to disable the cache in Internet Explorer 7?

Thanks
0
Comment
Question by:zoropoteame
4 Comments
 
LVL 15

Expert Comment

by:dosth
ID: 21771445
what you have is right, can you clear cache manulally one time and see it is caching?
0
 

Author Comment

by:zoropoteame
ID: 21771998
I delete a folder in the page,  I went to other page and back again and IE no refresh it,
then, I repeated the same process but clearing cache manulally and i can see the change.
definitely is a client side cache issue
0
 
LVL 1

Accepted Solution

by:
webfullcircle earned 1000 total points
ID: 21857652
Add this at the end of your page (between </body> and </html>):

PS: Yes, I know this is illegal to all W3C HTML specs, but IE has a tendency to not follow standards. Once the page is loaded, IE will read this and then, it will not cache it.

<%
    /* Fix IE caching */
    if (Request.Browser.Browser == "IE")
    {
     %>
     <head>
<meta http-equiv="Pragma" content="no-cache">
</head>
<% } %>

Open in new window

0
 

Expert Comment

by:the_cyman
ID: 24817576
I think you need to do:
oTreeView.removeNode(oCurrentTextNode);
oTreeView.render();
oTreeView.draw();

You forgot to render before the draw.
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
In threads here at EE, each comment has a unique Identifier (ID). It is easy to get the full path for an ID via the right-click context menu. However, we often want to post a short link within a thread rather than the full link. This article shows a…
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…
Want to learn how to record your desktop screen without having to use an outside camera. Click on this video and learn how to use the cool google extension called "Screencastify"! Step 1: Open a new google tab Step 2: Go to the left hand upper corn…
Suggested Courses

834 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question