所以我有一个噩梦试图在wpf webbrowser控件中运行ckeditor。我们公司正在为他们的网站使用的自定义内置ckeditor,会引发一个错误,指向任何地方..第0行,但它可以在其他地方使用,包括IE。基本包,半载,但抛出未定义的错误,并在加载阶段保持灰色。这是最新的ck编辑器4.7。 我已经尝试过使用版本3.6,根本没有任何反应,ckeditor抛出没有错误,但没有加载任何(在wpf浏览器以外的罚款)。ckeditor在WPF WebBrowser控件
这里是我注入wpfbrowser的一些基本的html代码。
WebBrowser webBrowser = dependencyObject as WebBrowser;
if (webBrowser != null)
{
var html = "<head>" +
"<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />" +
"<meta charset=\"UTF-8\">" +
// $"<script type=\"text/javascript\" src=\"{ResourceDir}MathJax\\MathJax.js?config=MML_HTMLorMML,default\"></script>" +
$"<script type=\"text/javascript\" src=\"{ResourceDir}ckeditor\\ckeditor.js\"></script>" +
$"<script type=\"text/javascript\" src=\"{ResourceDir}JavaScript\\essay.js\"></script>" +
// $"<link rel=\"stylesheet\" type=\"text/css\" href=\"{ResourceDir}\\CSS\\main.css\">" +
"</head>" +
"<body>" +
" <form>\r\n" +
" <textarea name=\"editor\" id=\"editor\" rows=\"10\" cols=\"80\">\r\n" +
$"Hello World!" + /*{e.NewValue}*/
" </textarea>\r\n" +
" </form>"+
" <button onclick=\"ReplaceEditor()\">Click me</button> " +
"</body>";
webBrowser.NavigateToString(html);
其他的javascript如MathJax等工作得很好,请忽略我建立HTML的方式,它现在不相关。
这是essay.js内容
function ReplaceEditor() {
CKEDITOR.replace('editor');
}
window.onerror = function (message, url, lineNumber) {
window.external.GetErrors(message, url, lineNumber);
}
捕捉错误犯规太多帮助,因为它返回同一行0字符0是网页浏览器会抛出的所有错误。任何帮助表示赞赏,从我读过的内容来看,应该像人们以前的工作一样工作。
在那里。看看[this](https://stackoverflow.com/a/18333982/1768303)是否有帮助。 – Noseratio
令人遗憾的是,问题仍然存在,而且这些注册表的调整,打破了我可怕的wpf webbrowser的其他解决方法,因此不得不撤消它们,并且宁愿不向注册表写任何东西,因为应用程序将在外部使用。 –
我能够无忧无虑地使用CKEditor 4.5.x。注意它写入HKCU,所以不需要管理员权限。尽管如此,不能告诉以后的CKEditor版本。 – Noseratio