从 C# 中的 webBrowser 元素获取(更改的)textarea 内容
Get (altered) textarea content from webBrowser element in C#
我已经在网上搜索了 2 天了,正准备放弃这个,但我离最终解决方案太近了……所以你是我最后的希望。 ;)
我用 Windows Forms GUI 制作了一个小的 C# 应用程序,它使用 webBrowser 元素来显示一个 HTML 嵌入了 TinyMCE 编辑器的文件 - 这样我就得到了一个不错的 window 具有可自定义的编辑器功能,我可以完美地满足我在这个项目中的需要。
由于在 Whosebug 上发布了此解决方案,我可以毫无问题地为此编辑器 window 设置文本区域输入:
但是,我在阅读此文本区域中的文本时遇到了很大的麻烦。如果我在上面的解决方案中按 ID 读取元素(用于设置内容),我得到的是旧文本,因为 TinyMCE 从未真正保存更改。
但是我如何通过 TinyMCE 获得我的用户将在 textarea 中进行的输入?有什么方法可以触发 HTML 中的表单发送以获得此输入吗?
非常感谢您的帮助!
好吧,回答我自己的问题(也许其他人以后会发现这个有用):
TinyMCE 的更改不会实时写回到 textarea 字段,所以我不得不解决这个问题。一种解决方案是在 javascript header 中添加一些内容,将每个更改立即写回文本区域,但这给我带来了问题,因为此时不涉及 TinyMCE 代码清理。
我的解决方案是临时创建一个新文件,其中 TinyMCE 字段的输入直接写入源代码,这在 C# 中读回是小菜一碟。
所需的 javascript 代码如下所示:
setup : function(editor){
editor.on('submit', function (){
tinymce.triggerSave();
document.writeln("<!DOCTYPE html><html><body><div id='content'>"+document.getElementById('textarea').value+"</div></body></html>")
document.close()
});
}
之后您可以使用以下代码在C#中阅读内容:
webBrowser.Document.GetElementById("content").InnerHtml
现在我可以将 HTML 格式的代码存储在我的 SQL 数据库中,可以使用闪亮的界面进行管理和编辑。 ;)
我已经在网上搜索了 2 天了,正准备放弃这个,但我离最终解决方案太近了……所以你是我最后的希望。 ;)
我用 Windows Forms GUI 制作了一个小的 C# 应用程序,它使用 webBrowser 元素来显示一个 HTML 嵌入了 TinyMCE 编辑器的文件 - 这样我就得到了一个不错的 window 具有可自定义的编辑器功能,我可以完美地满足我在这个项目中的需要。 由于在 Whosebug 上发布了此解决方案,我可以毫无问题地为此编辑器 window 设置文本区域输入:
但是,我在阅读此文本区域中的文本时遇到了很大的麻烦。如果我在上面的解决方案中按 ID 读取元素(用于设置内容),我得到的是旧文本,因为 TinyMCE 从未真正保存更改。 但是我如何通过 TinyMCE 获得我的用户将在 textarea 中进行的输入?有什么方法可以触发 HTML 中的表单发送以获得此输入吗?
非常感谢您的帮助!
好吧,回答我自己的问题(也许其他人以后会发现这个有用):
TinyMCE 的更改不会实时写回到 textarea 字段,所以我不得不解决这个问题。一种解决方案是在 javascript header 中添加一些内容,将每个更改立即写回文本区域,但这给我带来了问题,因为此时不涉及 TinyMCE 代码清理。 我的解决方案是临时创建一个新文件,其中 TinyMCE 字段的输入直接写入源代码,这在 C# 中读回是小菜一碟。
所需的 javascript 代码如下所示:
setup : function(editor){
editor.on('submit', function (){
tinymce.triggerSave();
document.writeln("<!DOCTYPE html><html><body><div id='content'>"+document.getElementById('textarea').value+"</div></body></html>")
document.close()
});
}
之后您可以使用以下代码在C#中阅读内容:
webBrowser.Document.GetElementById("content").InnerHtml
现在我可以将 HTML 格式的代码存储在我的 SQL 数据库中,可以使用闪亮的界面进行管理和编辑。 ;)