AjaxControlToolkit HTMLEditor - 不接受完全停止按键

时间:2013-12-05 17:55:01

标签: asp.net asp.net-ajax ajaxcontroltoolkit html-editor internet-explorer-11

当我们的客户声称他们无法在他们的ASP.net网站上的Ajax Control Toolkit的HTML编辑器控件中输入完整停止(句点)之后完全不相信我,我现在很遗憾地被迫接受它是情况下。

按下.键,光标位于编辑器的最终位置时,根本不会向HTML编辑器控件添加任何内容。

如果光标位置后有个字符,.正常工作。

如果您点击return输入换行符,请按.即可运行一次。

这只发生在IE 11中,旧版本的版本很好,Chrome,Firefox和Safari也是如此。我们正在使用2013年9月发布的Ajax Control Toolkit。

还有其他人遇到过这个吗?任何建议都将不胜感激。

2 个答案:

答案 0 :(得分:4)

在AjaxControlToolkit和IE11上进行了更多的谷歌搜索后,我发现有很多人抱怨当前版本的ACT(2013年9月发布)和IE11的问题。

e.g。 Hereherehere

似乎问题是.net无法将IE 11识别为IE浏览器,导致各种AjaxControlToolkit功能失败。

我目前使用的解决方法是将X-UA-Compatible http标头添加到我们的网站,以强制IE11以IE10模式处理页面。

<meta http-equiv="X-UA-Compatible" content="IE=10">

还有来自Microsoft的this .net4 hotfix,它应该在应用于您的Web服务器时完全解决问题。

答案 1 :(得分:0)

希望这有助于其他人。

我在Chrome中发现了与v3.0.30930类似的问题,我将其跟踪到DesignPanelEventHandler。特别是在单击退格按钮时有条件地处理各种浏览器中的删除。在某些情况下,代码会查找46或Sys.UI.Key.backspace的密钥代码,但是在Chrome中,按键上的完整密钥代码也是46,导致各种问题,最后意味着事件被停止并且完全 - 停止永远不会进入面板。

我覆盖了DesignPanelEventHandler功能,并在删除逻辑和停止事件之前添加了以下条件(围绕HTMLEditor \ DesignPanelEventHandler.js中的第503行)。就我的测试而言,这似乎工作得很好:

if (key != String.fromCharCode(Sys.UI.Key.backspace).toLowerCase())
     break;