我在我们的应用程序之一中实现了.net Web表单拼写检查器。
此应用程序只在内部运行,客户端无法访问互联网,所以我不能使用像Google这样的在线拼写检查程序。实现.Net Web表单拼写检查器
我在支持使用NetSpell的SO上遇到过很多帖子。然而,我一直无法弄清楚如何将它连接到像微型mce这样的文本编辑器。
有没有一个我可以遵循的例子?
有没有更简单的方法让拼写检查工作?
我在我们的应用程序之一中实现了.net Web表单拼写检查器。
此应用程序只在内部运行,客户端无法访问互联网,所以我不能使用像Google这样的在线拼写检查程序。实现.Net Web表单拼写检查器
我在支持使用NetSpell的SO上遇到过很多帖子。然而,我一直无法弄清楚如何将它连接到像微型mce这样的文本编辑器。
有没有一个我可以遵循的例子?
有没有更简单的方法让拼写检查工作?
好的,这里是我发现的。
TinyMCE有两个命令用于执行拼写检查。 这些命令以json格式发送并具有相同的语法。
在我的使用中,我必须使用特定的拼音拼写检查例程。所以我解析json请求调用我的拼写检查,然后生成一个json响应。
POST
ID - 串ID,通过tinyMCE的
方法生成 - 无论是字符串 “校验字” 或 “getSuggestions”
PARAMS - 一个对象数组,用于检验字它是(<串>,<字符串数组>),用于getSuggestions它是(<串>,<串>)
预期响应
结果 - 字符串数组
id - 来自帖子的相同ID
错误 - 我假设的错误消息,我总是只返回null。
用法示例
Post
{"id":"c0","method":"checkWords","params":["en",["This","is","a","sentancce","woth","speeling","missteaks"]]}
Expected Response
{"result":["sentancce","woth","speeling","missteaks"],"id":"c0","error":null}
Post
{"id":"c0","method":"getSuggestions","params":["en","sentancce"]}
Expected Response
{"result":["sentence","sentenced","sentences","sentience"],"id":"c0","error":null}
我会使用tinymce附带的spellcheck插件,并在intranet上的machiene上设置拼写检查服务器。 IESpell是去这里的好方法。
那么,你有没有例子? –
看看这里:http://www.kelvinluck.com/2009/01/using-spell-checker-for-tinymce -with-net-on-iis/ – Thariama
我不认为你读过这篇文章,它接受来自TinyMCE实例的AJAX请求,将它发送给Google的拼写检查Web服务,并将相关结果发送回AJAX响应中 –
我确实实施了NetSpell拼写检查城市名称。没有任何东西存在,所以我开发了一个C#中的Web服务,该服务从客户端调用了该字符串,通过NetSpell(使用自定义字典)传递,然后在城市/州组合很好时返回,如果不是,NetSpell给出了什么建议。
某些AJAX魔术显示了一个下拉菜单,并提供了Web服务返回的建议。整个事情必须是自定义的。如果你需要拼写检查的东西,而无需拨打外部网络服务,我认为这是你最好的选择。
我认为Thariama的答案非常接近。我已经检查了包含在TinyMce .NET package中的拼写检查器示例,并且它看起来非常简单,可以挂接自定义拼写检查器而不是提供的GoogleSpellChecker类。你只需要实现ISpellChecker接口(两个简单的方法),将GoogleSpellChecker切换到SpellCheckerModule.cs文件中的实现。对于实际的拼写检查,您可以使用OpenOffice拼写检查程序的.NET版本NHunspell。有关使用TinyMCE连接SpellCheckerModule的说明,请参阅Thariama提供的链接(kelvinluck.com/2009/01/...)
是的,这就是我所缺少的一部分实际将tinymce连接到自定义拼写检查程序。 –
以下是使用COM的解决方案。只要安装了Microsoft Word,它就会很好地工作。
现代浏览器已经有拼写检查。 – SLaks
@Slaks打败了我原来的评论,但另外,如果你的内部客户运行的是旧版本的IT,我会推荐IESpell自己写一个。 – David
@SLaks企业环境...即6 - ie8与少数移动设备投入混合。我不能依赖浏览器或在客户端安装软件。 :( –