当我们的客户声称他们无法在他们的ASP.net网站上的Ajax Control Toolkit的HTML编辑器控件中输入完整停止(句点)之后完全不相信我,我现在很遗憾地被迫接受它是情况下。
按下.
键,光标位于编辑器的最终位置时,根本不会向HTML编辑器控件添加任何内容。
如果光标位置后有个字符,.
正常工作。
如果您点击return
输入换行符,请按.
即可运行一次。
这只发生在IE 11中,旧版本的版本很好,Chrome,Firefox和Safari也是如此。我们正在使用2013年9月发布的Ajax Control Toolkit。
还有其他人遇到过这个吗?任何建议都将不胜感激。
答案 0 :(得分:4)
在AjaxControlToolkit和IE11上进行了更多的谷歌搜索后,我发现有很多人抱怨当前版本的ACT(2013年9月发布)和IE11的问题。
似乎问题是.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;