2012-04-25 3 views
0

У меня есть веб-приложение, которое открывает новое окно при нажатии ссылки. Как только я это сделаю, кеш моего браузера очищается. Если я не нажму ссылку, кеш все еще есть.Открытие нового окна из родительского окна в IE очищает кеш родительского окна

Я пробовал как стандартные target="_blank", так и window.open, и оба они приводят к очищенному кешу.

Вот ссылка на кого-то другого, сталкивающегося с той же проблемой, но без решения.

http://www.pcreview.co.uk/forums/problem-new-window-clears-cache-t693284.html

Любая идея, почему?

IE 7 и 8

+0

Как вы проверяете, очищен ли кеш? – dez

+0

Честно говоря, я отлаживаю приложение и имею точку прерывания на странице_load предыдущей страницы, которая должна быть кешем. –

+0

Кэширование по умолчанию не выполняется по динамическому контенту в IIS - вы возвращаете правильные заголовки кеша? – dez

ответ

0

Это работает для меня, попробовать и дайте мне знать:

Html Page 1 (Родитель):

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="wpop1.aspx.vb" Inherits="pruebas_wpop1" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
    <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="PRIVATE" /> 
    <title>Parent</title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
    <asp:TextBox runat="server"></asp:TextBox> 
    <a href="wpop3.aspx" target="_blank" >Popup</a><br/> 
    <asp:Button runat="server" Text="Button" /> 
    </div> 
    </form> 
</body> 
</html> 

Codebehind Page 1:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load  

     Response.ExpiresAbsolute = DateTime.Now.AddDays(2D) 
     Response.Expires = 7200 
     Response.CacheControl = "PRIVATE" 

End Sub 

Html Page 2 (PopUp):

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="wpop3.aspx.vb" Inherits="pruebas_wpop3" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server">  
    <title>PopUp</title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
    This is the Popup Window. 
    </div> 
    </form> 
</body> 
</html> 
+0

Это работает для меня в Internet Explorer 8.0 с включенным и отключенным режимом совместимости. – CoderRoller

Смежные вопросы