-
13 May 2009 1:07 AM #1
window has a cache panel item,the panel can't show in open window again in IE6.
window has a cache panel item,the panel can't show in open window again in IE6.
test.html code:
this question is only in IE6.HTML Code:<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>test</title> <link rel="stylesheet" type="text/css" href="../../ext2.2.1/resources/css/ext-all.css" /> </head> <script type="text/javascript" src="../../ext2.2.1/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="../../ext2.2.1/ext-all-debug.js"></script> <script type="text/javascript" src="../../ext2.2.1/source/locale/ext-lang-zh_CN.js"></script> <body> <input type="button" value="test" onclick="testdomain.openFunc();"/> <script type="text/javascript"> Ext.namespace("testdomain"); Ext.onReady(function(){ testdomain.testini=function(){ testdomain.testpanel=new Ext.Panel({ title:'cachedpanel', width:750, height:550, listeners:{ beforedestroy:function(th){ th.hide(); return false; } } }); }; testdomain.openFunc=function(){ if (typeof testdomain.testpanel=="undefined" || testdomain.testpanel==null) { testdomain.testini(); } var win = new Ext.Window({ layout:"fit", title:"windowtitle", width:820, height:515, items:[testdomain.testpanel] }); win.show(); } }); </script> </body> </html>
first time,I click "test" button,the "cachedpanel" panel in window can show,then I close opend window.
then,I click "test" again,the "cachedpanel" panel in window can't show.
-
13 May 2009 1:10 AM #2
Yet another closeAction: 'hide' thread.
I'll add to the FAQ (For all the good that'll do us)Search the forum: http://www.google.com/coop/cse?cx=01...%3Az7of1ufqccu
Read the docs too: http://extjs.com/deploy/dev/docs/
Scope: http://extjs.com/forum/showthread.ph...642#post257642
-
13 May 2009 1:16 AM #3
-
13 May 2009 1:59 AM #4
I can't add "closeAction: 'hide'" to window in my bussiness case
I can't add "closeAction: 'hide'" to window in my bussiness case
I can't add "closeAction: 'hide'" to window in my bussiness case.
But i added a "beforedestroy" listeners to "testdomain.testpanel",
so when window be closed,"testdomain.testpanel" is not be destroyed.
if "testdomain.testpanel" be show in a tabpanel,the tabpanel be closed and opend,the tabpanel can show "testdomain.testpanel" again.
But in window,"testdomain.testpanel" can't show again.
-
13 May 2009 2:13 AM #5
What do you mean you can't add a config?
You have added
quite well.Code:layout:"fit", title:"windowtitle", width:820, height:515, items:[testdomain.testpanel]
Just add one more.Search the forum: http://www.google.com/coop/cse?cx=01...%3Az7of1ufqccu
Read the docs too: http://extjs.com/deploy/dev/docs/
Scope: http://extjs.com/forum/showthread.ph...642#post257642
-
14 May 2009 6:59 PM #6
First,Animal,Thank you very much for your geduldig help.
The code in test.html is only a example to show the problem.
In real case the code of window is in a js file,and the code of panel is in other js file.
And, the two files are write by different organizations.
And, The organization that write window can't hypothesis the panel will be cache or not cacheļ¼and the orgainzation that write panel can't hypothesis the window will be cache or not cache.
So The Window will destroy the panel when window be closed or window be hide.
And The Panel is to decide cache or not cache by listener of beforedestroy return true or false.
-
15 May 2009 2:24 AM #7
I test it is ok in firefox3.0.5,and I alert the win.getEl().dom.innerHTML befor win.show().
When i close the window and opened again,the win.getEl().dom.innerHTML is :
<div class="x-window-tl"><div class="x-window-tr"><div class="x-window-tc"><div style="-moz-user-select: none;" id="ext-gen138" class="x-window-header x-unselectable x-window-draggable"><div id="ext-gen173" class="x-tool x-tool-close"> </div><span id="ext-gen146" class="x-window-header-text">windowtitle1</span></div></div></div></div><div id="ext-gen139" class="x-window-bwrap"><div class="x-window-ml"><div class="x-window-mr"><div class="x-window-mc"><div style="width: 806px; height: 485px;" id="ext-gen140" class="x-window-body"><div style="width: 806px;" id="ext-comp-1002" class="x-panel"><div style="-moz-user-select: none;" id="ext-gen54" class="x-panel-header x-unselectable"><span id="ext-gen58" class="x-panel-header-text">cachedpanel</span></div><div id="ext-gen55" class="x-panel-bwrap"><div style="width: 804px; height: 458px;" id="ext-gen56" class="x-panel-body">afd</div></div></div></div></div></div></div><div class="x-window-bl x-panel-nofooter"><div class="x-window-br"><div class="x-window-bc"></div></div></div></div><a id="ext-gen143" href="#" class="x-dlg-focus" tabindex="-1"> </a><div style="-moz-user-select: none;" id="ext-gen149" class="x-resizable-handle x-resizable-handle-north x-unselectable"></div><div style="-moz-user-select: none;" id="ext-gen152" class="x-resizable-handle x-resizable-handle-south x-unselectable"></div><div style="-moz-user-select: none;" id="ext-gen155" class="x-resizable-handle x-resizable-handle-east x-unselectable"></div><div style="-moz-user-select: none;" id="ext-gen158" class="x-resizable-handle x-resizable-handle-west x-unselectable"></div><div style="-moz-user-select: none;" id="ext-gen161" class="x-resizable-handle x-resizable-handle-northeast x-unselectable"></div><div style="-moz-user-select: none;" id="ext-gen164" class="x-resizable-handle x-resizable-handle-northwest x-unselectable"></div><div style="-moz-user-select: none;" id="ext-gen167" class="x-resizable-handle x-resizable-handle-southeast x-unselectable"></div><div style="-moz-user-select: none;" id="ext-gen170" class="x-resizable-handle x-resizable-handle-southwest x-unselectable">
But when I test it in IE6,when i opened windows again,the win.getEl().dom.innerHTML is :
<DIV class=x-window-tl>
<DIV class=x-window-tr>
<DIV class=x-window-tc>
<DIV class="x-window-header x-unselectable x-window-draggable" id=ext-gen83 style="MozUserSelect: none; KhtmlUserSelect: none" unselectable="on">
<DIV class="x-tool x-tool-close" id=ext-gen118> </DIV><SPAN class=x-window-header-text id=ext-gen91>windowtitle1</SPAN></DIV></DIV></DIV></DIV>
<DIV class=x-window-bwrap id=ext-gen84>
<DIV class=x-window-ml>
<DIV class=x-window-mr>
<DIV class=x-window-mc>
<DIV class=x-window-body id=ext-gen85 style="WIDTH: 806px; HEIGHT: 485px">
<DIV class=x-panel id=ext-comp-1003 style="WIDTH: 806px">There has no panel code</DIV></DIV></DIV></DIV></DIV>
<DIV class="x-window-bl x-panel-nofooter">
<DIV class=x-window-br>
<DIV class=x-window-bc></DIV></DIV></DIV></DIV><A class=x-dlg-focus id=ext-gen88 tabIndex=-1 href="http://localhost:8081/TestWeb/test/testwindow/testwindow.html#"> </A>
<DIV class="x-resizable-handle x-resizable-handle-north x-unselectable" id=ext-gen94 style="MozUserSelect: none; KhtmlUserSelect: none" unselectable="on"></DIV>
<DIV class="x-resizable-handle x-resizable-handle-south x-unselectable" id=ext-gen97 style="MozUserSelect: none; KhtmlUserSelect: none" unselectable="on"></DIV>
<DIV class="x-resizable-handle x-resizable-handle-east x-unselectable" id=ext-gen100 style="MozUserSelect: none; KhtmlUserSelect: none" unselectable="on"></DIV>
<DIV class="x-resizable-handle x-resizable-handle-west x-unselectable" id=ext-gen103 style="MozUserSelect: none; KhtmlUserSelect: none" unselectable="on"></DIV>
<DIV class="x-resizable-handle x-resizable-handle-northeast x-unselectable" id=ext-gen106 style="MozUserSelect: none; KhtmlUserSelect: none" unselectable="on"></DIV>
<DIV class="x-resizable-handle x-resizable-handle-northwest x-unselectable" id=ext-gen109 style="MozUserSelect: none; KhtmlUserSelect: none" unselectable="on"></DIV>
<DIV class="x-resizable-handle x-resizable-handle-southeast x-unselectable" id=ext-gen112 style="MozUserSelect: none; KhtmlUserSelect: none" unselectable="on"></DIV>
<DIV class="x-resizable-handle x-resizable-handle-southwest x-unselectable" id=ext-gen115 style="MozUserSelect: none; KhtmlUserSelect: none" unselectable="on"></DIV>
-
15 May 2009 2:57 AM #8
I alert testdomain.testpanel.getEl().dom.innerHTML in testdomain.testpanel's beforedestroy and in win's destroy.The result is:
In firefox if window be destoryed,then testdomain.testpanel is not be destoryed, because testdomain.testpanel's beforedestroy return false.
But In IE6 if window be destoryed,then testdomain.testpanel is be destoryed whatever testdomain.testpanel's beforedestroy return false or true. And this time testdomain.testpanel.rendered is true.


Reply With Quote