I was recently given support duties on a DotNetNuke Pro system that uses Telerik controls. We are having an error for customers on IE 11 and we were able to find the source. In the "Telerick.Web.Ui.WebResource.axd file:
1. There is a "MicrosoftAjax.js" section at the top of the file that initializes a Sys.Browser.agent variable, then checks to see if it is Internet Explorer by looking for " MSIE " in the useragent string - since IE 11 does not use " MSIE " in useragent the browser stays undefined.
2. In the next "MicrosoftAjaxWebForms.js" section there is a function that checks if Sys.Browser.agent is equal to Sys.Browser.InternetExplorer, and if it is uses AttachEvent() to register a click handler. Since Sys.Browser.agent was not identified as IE 11, at this point the code works properly would call document.AddEventListener(), which IE 11 supports.
3. Further down in the AXD there is a "START Telerik.Web.UI.Common.Core.js" section. In this section there is a line of code that reads
...this line changes Sys.Browser.agent to equal Sys.Browser.InternetExplorer, which causes the function in #2 above to throw an error (since AttachEvent is not available in IE11).
Any ideas on how we resolve this issue? Basically we need a way to either update the AttachEvent() test or stop the Telerik section that sets Sys.Browser.Agent. Thanks.
1. There is a "MicrosoftAjax.js" section at the top of the file that initializes a Sys.Browser.agent variable, then checks to see if it is Internet Explorer by looking for " MSIE " in the useragent string - since IE 11 does not use " MSIE " in useragent the browser stays undefined.
2. In the next "MicrosoftAjaxWebForms.js" section there is a function that checks if Sys.Browser.agent is equal to Sys.Browser.InternetExplorer, and if it is uses AttachEvent() to register a click handler. Since Sys.Browser.agent was not identified as IE 11, at this point the code works properly would call document.AddEventListener(), which IE 11 supports.
3. Further down in the AXD there is a "START Telerik.Web.UI.Common.Core.js" section. In this section there is a line of code that reads
if
(navigator.userAgent.indexOf(
"Trident"
)>-1&&navigator.userAgent.indexOf(
"MSIE"
)==-1){Sys.Browser.agent=Sys.Browser.InternetExplorer;
...this line changes Sys.Browser.agent to equal Sys.Browser.InternetExplorer, which causes the function in #2 above to throw an error (since AttachEvent is not available in IE11).
Any ideas on how we resolve this issue? Basically we need a way to either update the AttachEvent() test or stop the Telerik section that sets Sys.Browser.Agent. Thanks.