SCRIPT5007: Unable to set property 'actControlType' of undefined or null reference

1 posts, 0 answers
  1. Xm
    Xm avatar
    3 posts
    Member since:
    Jan 2014

    Posted 15 Jul Link to this post

    Hi, SIR

    When I run application on IE10, I got below error message and Javascript was broken to run.

    JS error on below function with code this._foregroundElement.parentNode.removeChild(this._backgroundElement), some javascript were not run. 

    Any Comments?

     

    I debug and found the below source has issues.

    Source:
    ScriptResource.axd?d=XlV9GqTk6b5uqDuL38kZ4G11N2zpXsNZyBOqVXHFlOnWKja1olyEzRwXEELL_znnIxeWNct6Y9ITl_XOuFwCSkgHrOilsusbkMf-RZAmysQ1X_Zv4cQA8CU6iKpOoSR70&t=76554e0d

     

    Code:

    Type.registerNamespace("Sys.Extended.UI");Sys.Extended.UI.ModalPopupRepositionMode=function(){throw Error.invalidOperation();};Sys.Extended.UI.ModalPopupRepositionMode.prototype={None:0,RepositionOnWindowResize:1,RepositionOnWindowScroll:2,RepositionOnWindowResizeAndScroll:3};Sys.Extended.UI.ModalPopupRepositionMode.registerEnum("Sys.Extended.UI.ModalPopupRepositionMode");Sys.Extended.UI.ModalPopupBehavior=function(n){Sys.Extended.UI.ModalPopupBehavior.initializeBase(this,[n]);this._popupControlID=null;this._popupDragHandleControlID=null;this._backgroundCssClass=null;this._dropShadow=!1;this._drag=!1;this._okControlID=null;this._cancelControlID=null;this._onOkScript=null;this._onCancelScript=null;this._xCoordinate=-1;this._yCoordinate=-1;this._repositionMode=Sys.Extended.UI.ModalPopupRepositionMode.RepositionOnWindowResizeAndScroll;this._onShown=new Sys.Extended.UI.Animation.GenericAnimationBehavior(n);this._onHidden=new Sys.Extended.UI.Animation.GenericAnimationBehavior(n);this._onShowing=new Sys.Extended.UI.Animation.GenericAnimationBehavior(n);this._onHiding=new Sys.Extended.UI.Animation.GenericAnimationBehavior(n);this._backgroundElement=null;this._foregroundElement=null;this._relativeOrAbsoluteParentElement=null;this._popupElement=null;this._dragHandleElement=null;this._showHandler=null;this._okHandler=null;this._cancelHandler=null;this._scrollHandler=null;this._resizeHandler=null;this._windowHandlersAttached=!1;this._dropShadowBehavior=null;this._dragBehavior=null;this._isIE6=!1;this._saveTabIndexes=[];this._saveDesableSelect=[];this._tagWithTabIndex=["A","AREA","BUTTON","INPUT","OBJECT","SELECT","TEXTAREA","IFRAME"];this._isAnimationJustEnded=!1;this._hidingAnimationEndedHandler=null;this._showingAnimationEndedHandler=null};Sys.Extended.UI.ModalPopupBehavior.prototype={initialize:function(){Sys.Extended.UI.ModalPopupBehavior.callBaseMethod(this,"initialize");this._isIE6=Sys.Browser.agent==Sys.Browser.InternetExplorer&&Sys.Browser.version<7;this._popupDragHandleControlID&&(this._dragHandleElement=$get(this._popupDragHandleControlID));this._popupElement=$get(this._popupControlID);this._createDomElements();this._showHandler=Function.createDelegate(this,this._onShow);$addHandler(this.get_element(),"click",this._showHandler);this._okControlID&&(this._okHandler=Function.createDelegate(this,this._onOk),$addHandler($get(this._okControlID),"click",this._okHandler));this._cancelControlID&&(this._cancelHandler=Function.createDelegate(this,this._onCancel),$addHandler($get(this._cancelControlID),"click",this._cancelHandler));this._scrollHandler=Function.createDelegate(this,this._onLayout);this._resizeHandler=Function.createDelegate(this,this._onLayout);this.registerPartialUpdateEvents();this._resetAnimationsTarget();this._onHiding.get_animation()&&(this._hidingAnimationEndedHandler=Function.createDelegate(this,function(){this._isAnimationJustEnded=!0;this.hide()}),this._onHiding.get_animation().add_ended(this._hidingAnimationEndedHandler));this._onShowing.get_animation()&&(this._showingAnimationEndedHandler=Function.createDelegate(this,function(){this._isAnimationJustEnded=!0;this.show()}),this._onShowing.get_animation().add_ended(this._showingAnimationEndedHandler))},dispose:function(){this._hideImplementation();this._foregroundElement&&this._foregroundElement.parentNode&&(this._foregroundElement.parentNode.removeChild(this._backgroundElement),this._dropShadow&&(this._foregroundElement.parentNode.appendChild(this._popupElement),this._foregroundElement.parentNode.removeChild(this._foregroundElement)));this._scrollHandler=null;this._resizeHandler=null;this._cancelHandler&&$get(this._cancelControlID)&&($removeHandler($get(this._cancelControlID),"click",this._cancelHandler),this._cancelHandler=null);this._okHandler&&$get(this._okControlID)&&($removeHandler($get(this._okControlID),"click",this._okHandler),this._okHandler=null);this._showHandler&&($removeHandler(this.get_element(),"click",this._showHandler),this._showHandler=null);this._hidingAnimationEndedHandler&&this._onHiding.get_animation().remove_ended(this._hidingAnimationEndedHandler);this._showingAnimationEndedHandler&&this._onShowing.get_animation().remove_ended(this._showingAnimationEndedHandler);Sys.Extended.UI.ModalPopupBehavior.callBaseMethod(this,"dispose")},_createDomElements:function(){this._dropShadow?(this._foregroundElement=document.createElement("div"),this._foregroundElement.id=this.get_id()+"_foregroundElement",this._popupElement.parentNode.appendChild(this._foregroundElement),this._foregroundElement.appendChild(this._popupElement)):this._foregroundElement=this._popupElement;this._backgroundElement=document.createElement("div");this._backgroundElement.dataset.actControlType="modalPopupBackground";this._backgroundElement.id=this.get_id()+"_backgroundElement";this._backgroundElement.style.display="none";this._backgroundElement.style.position="fixed";this._backgroundElement.style.left="0px";this._backgroundElement.style.top="0px";this._backgroundCssClass&&(this._backgroundElement.className=this._backgroundCssClass);this._foregroundElement.parentNode.appendChild(this._backgroundElement);this._foregroundElement.style.display="none";this._foregroundElement.style.position="fixed";this._setZIndex()},_setZIndex:function(){var n=parseInt(this._findTopModalPopupBackgroundZIndex());this._backgroundElement.style.zIndex=n?parseInt(n+1):parseInt(Sys.Extended.UI.zIndex.ModalPopupBackground);this._foregroundElement.style.zIndex=parseInt($common.getCurrentStyle(this._backgroundElement,"zIndex",this._backgroundElement.style.zIndex))+1},_getAllElementsWithAttribute:function(n){for(var r=[],i=document.getElementsByTagName("*"),t=0,u=i.length;t<u;t++)i[t].getAttribute(n)!==null&&r.push(i[t]);return r},_findTopModalPopupBackgroundZIndex:function(){for(var u,t,r=this._getAllElementsWithAttribute("data-act-control-type"),i=[],n=0;n<r.length;n++)r[n].dataset.actControlType=="modalPopupBackground"&&i.push(r[n]);for(u={},t=undefined,n=0;n<i.length;n++)t==undefined&&(t=i[n].style.zIndex),i[n].style.zIndex>t&&(t=i[n].style.zIndex);return t},_attachPopup:function(){this._dropShadow&&!this._dropShadowBehavior&&(this._dropShadowBehavior=$create(Sys.Extended.UI.DropShadowBehavior,{},null,null,this._popupElement));this._dragHandleElement&&!this._dragBehavior&&(this._dragBehavior=$create(Sys.Extended.UI.FloatingBehavior,{handle:this._dragHandleElement},null,null,this._foregroundElement));$addHandler(window,"resize",this._resizeHandler);$addHandler(window,"scroll",this._scrollHandler);this._windowHandlersAttached=!0},_detachPopup:function(){this._windowHandlersAttached&&(this._scrollHandler&&$removeHandler(window,"scroll",this._scrollHandler),this._resizeHandler&&$removeHandler(window,"resize",this._resizeHandler),this._windowHandlersAttached=!1);this._dragBehavior&&(this._dragBehavior.dispose(),this._dragBehavior=null);this._dropShadowBehavior&&(this._dropShadowBehavior.dispose(),this._dropShadowBehavior=null)},_onShow:function(n){if(!this.get_element().disabled)return this.show(),n.preventDefault(),!1},_onOk:function(n){var t=$get(this._okControlID);if(t&&!t.disabled)return this.hide()&&this._onOkScript&&window.setTimeout(this._onOkScript,0),n.preventDefault(),!1},_onCancel:function(n){var t=$get(this._cancelControlID);if(t&&!t.disabled)return this.hide()&&this._onCancelScript&&window.setTimeout(this._onCancelScript,0),n.preventDefault(),!1},_onLayout:function(n){var t=this.get_repositionMode();(t===Sys.Extended.UI.ModalPopupRepositionMode.RepositionOnWindowScroll||t===Sys.Extended.UI.ModalPopupRepositionMode.RepositionOnWindowResizeAndScroll)&&n.type==="scroll"?this._layout():(t===Sys.Extended.UI.ModalPopupRepositionMode.RepositionOnWindowResize||t===Sys.Extended.UI.ModalPopupRepositionMode.RepositionOnWindowResizeAndScroll)&&n.type==="resize"?this._layout():this._layoutBackgroundElement()},show:function(){var t,n;if(this._isAnimationJustEnded)this._isAnimationJustEnded=!1;else{if(t=new Sys.CancelEventArgs,this.raise_showing(t),t.get_cancel())return;if(this._onShowing.get_animation()){this._onShowing.play();return}}if(this.populate(),this._attachPopup(),this._setZIndex(),this._backgroundElement.style.display="",this._foregroundElement.style.display="",this._popupElement.style.display="",this._isIE6)for(this._foregroundElement.style.position="absolute",this._backgroundElement.style.position="absolute",n=this._foregroundElement.parentNode;n&&n!=document.documentElement;)if(n.style.position!="relative"&&n.style.position!="absolute")n=n.parentNode;else{this._relativeOrAbsoluteParentElement=n;break}this.disableTab();this._layout();this._layout();this.raise_shown(Sys.EventArgs.Empty);this._onShown.play()},disableTab:function(){var r=0,t,f=[],u,i,n;for(Array.clear(this._saveTabIndexes),i=0;i<this._tagWithTabIndex.length;i++)for(t=this._foregroundElement.getElementsByTagName(this._tagWithTabIndex[i]),n=0;n<t.length;n++)f[r]=t[n],r++;for(r=0,i=0;i<this._tagWithTabIndex.length;i++)for(t=document.getElementsByTagName(this._tagWithTabIndex[i]),n=0;n<t.length;n++)Array.indexOf(f,t[n])==-1&&(this._saveTabIndexes[r++]={tag:t[n],index:t[n].tabIndex},t[n].tabIndex="-1");if(r=0,Sys.Browser.agent===Sys.Browser.InternetExplorer&&Sys.Browser.version<7){for(u=[],i=0;i<this._tagWithTabIndex.length;i++)for(t=this._foregroundElement.getElementsByTagName("SELECT"),n=0;n<t.length;n++)u[r]=t[n],r++;for(r=0,Array.clear(this._saveDesableSelect),t=document.getElementsByTagName("SELECT"),n=0;n<t.length;n++)Array.indexOf(u,t[n])==-1&&(this._saveDesableSelect[r++]={tag:t[n],visib:$common.getCurrentStyle(t[n],"visibility")},t[n].style.visibility="hidden")}},restoreTab:function(){for(var t,n=0;n<this._saveTabIndexes.length;n++)this._saveTabIndexes[n].tag.tabIndex=this._saveTabIndexes[n].index;if(Array.clear(this._saveTabIndexes),Sys.Browser.agent===Sys.Browser.InternetExplorer&&Sys.Browser.version<7){for(t=0;t<this._saveDesableSelect.length;t++)this._saveDesableSelect[t].tag.style.visibility=this._saveDesableSelect[t].visib;Array.clear(this._saveDesableSelect)}},hide:function(){if(this._isAnimationJustEnded)this._isAnimationJustEnded=!1;else{var n=new Sys.CancelEventArgs;if(this.raise_hiding(n),n.get_cancel())return!1;if(this._onHiding.get_animation())return this._onHiding.play(),!0}return this._hideImplementation(),this.raise_hidden(Sys.EventArgs.Empty),this._onHidden.play(),!0},_hideImplementation:function(){this._backgroundElement.style.display="none";this._foregroundElement.style.display="none";this.restoreTab();this._detachPopup()},_layout:function(){var i=document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft,r=document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop,u=$common.getClientBounds(),o=u.width,s=u.height,n,t,f,e;this._layoutBackgroundElement();n=0;t=0;this._xCoordinate<0?(f=this.

Back to Top