如何从 Dijit Editor 获取整个 HTML 值

How to get the whole HTML value from Dijit Editor

你好专家我需要帮助

我在我的小部件中使用 dojo Dijit Editor "rich text editor" 字段,在页面加载时,我从数据库中获取 HTML 文本,并使用 HTML 通常,然后用户可以编辑显示的文本,并且在页面关闭时我必须使用用户编辑文本的源 HTML 设置数据库中的字段 问题是当我执行以下操作时“myDB_txt=myEditor.getValue();” getValue() 没有 return 完整的 HTML 代码,它删除了 HTML 标签和 header 标签以及 body 标签,这给我带来了麻烦。

您可以尝试以下方法从您的 dijit/Editor 实例中检索值。

var content = myEditor.attr("value");
var openTags = '<html><head></head><body>';
var closeTags = '</body></html>';
var html = openTags + content + closeTags; // use this

var htmlWrapper = function(content){
    return '<html><head></head><body>' + content + '</body></html>';
}; 
var html = htmlWrapper(myEditor.attr("value"));

只需使用 myEditorWidget.get("Value"),其中 myEditorWidget 引用您的 dijit/Editor 索引

要包装此结果,您可以定义一个 return 结果由 html 标签

包装的函数
wrapResult(myEditor.get("value")));

function wrapResult(html) {

  return "<html> <head></head> <body>"+html+"</body></html>";

}

这是一个带有包装结果的示例 Fiddle

否则如果你想得到整个HTML包含内容的dijit,

您将可以访问它的 Iframe(具有 id="editor_iframe") 然后像下面这样获取最后一个的 html document (这里你应该导入 dojo/query 包)

query("#editor_iframe")[0].contentDocument.documentElement.outerHTML

这是另一个 Fiddle .