2010-02-06 2 views
0

UpdatePanels 및 jQuery UI를 기반으로 상당히 복잡한 asp.net 페이지가 있습니다. 불행히도, 패널을 업데이트 할 때 jQuery UI 위젯은 수동으로 '파괴'하더라도 ie7에 미친 것처럼 메모리를 누설합니다. 누구나 이러한 누출을 방지하는 기술/패치를 알고 있습니까? UpdatePanel 안에 슬라이더가있는 간단한 예제 페이지를 만들었습니다. '누출'버튼을 클릭하고 화면을 새로 고침하여 체내의 누출을 확인하십시오. 그것은이 작업을 수행 할 적절한 방법과 같은 좀 더 연구 한 후ie7의 UpdatePanel에서 jQuery UI로 메모리 누수가 발생했습니다.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Leak2.aspx.cs" Inherits="Leak2" %> 
<%@ Register Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI" TagPrefix="asp" %> 

<!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>Leak</title> 
    <link type="text/css" href="/jquery/css/custom-theme/jquery-ui-1.7.2.custom.css" rel="Stylesheet" /> 
    <script type="text/javascript" src="/jquery/js/jquery-1.3.2.min.js"></script> 
    <script type="text/javascript" src="/jquery/js/jquery-ui-1.7.2.custom.min.js"></script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 

     <script type="text/javascript"> 
      function initializeSlider() { 
       $(".slider").slider({ 
        min: 0, 
        max: 100, 
        value: 100, 
        step: 5 
       }); 
      } 
      $(document).ready(function() { 
       initializeSlider(); 
       Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function() { 
        initializeSlider(); 
       }); 
      }); 
     </script> 
     <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> 
     <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
      <ContentTemplate> 
       <div style="width: 300px;"> 
        <div class="slider"></div> 
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Leak" /> 
       </div> 
      </ContentTemplate> 
     </asp:UpdatePanel> 

    </div> 
    </form> 
</body> 
</html> 
+0

jQuery로 메모리 누수에 대해 들어 본 적이 없다! –

답변

0

는/내가 페이지를 구축하는 데 필요한 데이터 만 받아 페이지 상호 작용 클라이언트 측의 모든을 보내 $ 아약스를 사용하는 것 . 그러나, 그 페이지에 꽤 광범위한 변화가 필요합니다. 누구든지 jquery-ui에 대한 패치 또는 그동안 사용할 수있는 위젯에 의해 누출 된 메모리를 복구하기위한 일반적인 방법을 알고 있습니까?

관련 문제