我有java网络应用程序与前端在Dojo。有工作流组成的几个页面一个接一个,但用户可以来回。
现在,对于Chrome,Firefox等,它完美地工作,但对于IE 11,如果用户从一个特定的页面回到以前,然后再次前进到该特定的页面,导航不工作。
这里发生的是一个错误
"tabContainer.removeChild( oldTab );"
说:
Unable to get property 'removeChild' of undefined or null reference
当我在控制台中检查时,它是:tabContainer不为空,oldTab也不为空(当然),但是tabContainer.removeChild(oldTab)不起作用。
现在,在第一遍中,当用户第一次进入特定页面时,元素someObjectsPanel is <div></div>
比该元素someObjectsPanel变为<div style="visibility: hidden;"></div>
我试过用途:dojo.style(someObjectsPanel, "visibility", "visible" )
,甚至UTIL.clearNode('someTabWidget');
,但无法正常工作。var tabContainer = new dijitc.layout.TabContainer( tabArgs, someObjectsPanel );
之后
一些对象面板变成了<div style="visibility: hidden;"></div>
,而它是<div></div>
,我不知道这可能是问题所在?
这是我得到错误的函数:
fillSomeTab = function(policy) {
UTIL.clearNode('someTabWidget'); //<---- tried with this, didn't help
var somePanel = dijit.byId('someTabWidget').domNode;
var someObjectsPanel = somePanel.appendChild( dojo.doc.createElement('div') );
var tabArgs = { 'class':'richTab color someObjectsPanel', 'nested':true };
var tabContainer = new dijitc.layout.TabContainer( tabArgs, someObjectsPanel );
tabContainer.startup();
var tab = new dijit.layout.ContentPane( {"title":g_someBean.someObjects[0].car.brandText+' '+g_someBean.someObjects[0].car.modelText, "class":"stepBarPanel someObjectTab"}, dojo.doc.createElement('div'));
tabContainer.addChild(tab);
var dataAnchor = dojo.create( "div", {"class":"someData autosomeData"}, tab.domNode );
var oldTab = dijit.byId('someoneTabContainer');
if( oldTab != null ) {
tabContainer.removeChild( oldTab ); //<--- it breaks here,
oldTab.destroyRecursive();
}
1条答案
按热度按时间xqkwcwgp1#
我也有同样的问题。不幸的是,我手动一个接一个地删除了元素children。看来IE 11不支持这个。