Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 10432
  • Last Modified:

How to disable the cache in Internet Explorer 7?

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
zoropoteame
Asked:
zoropoteame
1 Solution
 
dosthCommented:
what you have is right, can you clear cache manulally one time and see it is caching?
0
 
zoropoteameAuthor Commented:
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
 
webfullcircleCommented:
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
 
the_cymanCommented:
I think you need to do:
oTreeView.removeNode(oCurrentTextNode);
oTreeView.render();
oTreeView.draw();

You forgot to render before the draw.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now