Javascript 在tinymce编辑器中进行模糊时,如何获取父iFrame ID?
我在一个页面上实现了4个TinyMCE编辑器。我想在用户离开TinyMCE编辑器并将编辑器的html放入文本区域时获取编辑器ID。在blur上,我可以获得编辑器html。但是我在Firefox和IE中找不到iFrame ID。我尝试了这段代码Javascript 在tinymce编辑器中进行模糊时,如何获取父iFrame ID?,javascript,jquery,tinymce,Javascript,Jquery,Tinymce,我在一个页面上实现了4个TinyMCE编辑器。我想在用户离开TinyMCE编辑器并将编辑器的html放入文本区域时获取编辑器ID。在blur上,我可以获得编辑器html。但是我在Firefox和IE中找不到iFrame ID。我尝试了这段代码 tinyMCE.init({ mode : "textareas", theme : "advanced", plugins : "table,insertdatetime,fullscreen,searchreplace,emot
tinyMCE.init({
mode : "textareas",
theme : "advanced",
plugins : "table,insertdatetime,fullscreen,searchreplace,emotions,paste,",
selector: "#vereinbarungen",
selector: "#narration",
theme_advanced_buttons1 : "insertdate,inserttime,|,hr,emotions,|,search,replace,|,cut,copy,paste,pastetext,pasteword,|,forecolor,backcolor,|,bold,italic,underline,separator,strikethrough,justifyleft,justifycenter,justifyright, justifyfull,bullist,numlist,undo,redo,|,fullscreen",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_toolbar_location : "bottom",
theme_advanced_toolbar_align : "left",
extended_valid_elements : "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]",
plugin_insertdate_dateFormat : "%d.%m.%Y",
plugin_insertdate_timeFormat : "%H:%M:%S",
setup : function(ed) {
ed.onInit.add(function(ed, event) {
var dom = ed.dom,
doc = ed.getDoc(),
el = doc.content_editable ? ed.getBody() : (tinymce.isGecko ? doc : ed.getWin());
tinymce.dom.Event.add(el, 'blur', function(e) {
//this is the targeted iframe id this works in chrome but not works in other browsers.
target_id = el.frameElement.id;
html = $(ed.getBody()).html();
});
});
},
});
当我用Chrome尝试这段代码时,我得到了target\u id
,但当我用其他浏览器尝试时,el.frameElement
是未定义的
这个问题的解决方案是什么?如果我理解你的问题,当编辑器模糊时,你想做的是用编辑器的当前值更新基础
TinyMCE中的triggerSave()
API将自动执行您想要的操作,而无需执行您当前正在执行的任何手动JavaScript工作
以下是一些例子:
- TinyMCE 5:
- TinyMCE 4:
setup: function (editor) {
editor.on('blur', function (e) {
console.log('Triggering a Save');
tinymce.triggerSave();
console.log(document.getElementById('content').value);
});
}
在
triggerSave()
调用完成后,我使用JavaScript显示
中的内容,但您不需要这些console.log()
调用而非调试。如果我理解您的问题,当编辑器模糊时,您要做的是使用编辑器的当前值更新基础
TinyMCE中的triggerSave()
API将自动执行您想要的操作,而无需执行您当前正在执行的任何手动JavaScript工作
以下是一些例子:
- TinyMCE 5:
- TinyMCE 4:
setup: function (editor) {
editor.on('blur', function (e) {
console.log('Triggering a Save');
tinymce.triggerSave();
console.log(document.getElementById('content').value);
});
}
在
triggerSave()
调用完成后,我使用JavaScript显示
中的内容,但除了调试之外,您不需要这些console.log()
调用。我检查所有对象及其tinymce值,并通过
tinymce.EditorManager.activeEditor.editorId代码>
这将返回活动编辑器ID我检查所有对象及其tinymce值,然后通过
tinymce.EditorManager.activeEditor.editorId代码>
这将返回活动编辑器ID我使用了旧版本的TinyMCE,当我尝试TinyMCE.triggerSave()
函数时,我收到了一条错误消息Uncaught TypeError:TinyMCE.triggerSave不是一个函数
。由于某些其他依赖项,我无法升级TinyMCE。对于旧版本的TinyMCE有什么解决方案吗?您使用的TinyMCE的确切版本是什么?这将是在您的帖子中包含的有用信息,因为这对于理解人们的建议非常重要。我使用tinymce.EditorManager.activeEditor.editorId
获取编辑器ID,当我尝试tinymce.triggerSave()时,我使用了旧版本的tinymce
函数我收到一条错误消息未捕获类型错误:tinymce.triggerSave不是函数
。由于某些其他依赖项,我无法升级TinyMCE。对于旧版本的TinyMCE有什么解决方案吗?您使用的TinyMCE的确切版本是什么?这将是在您的帖子中包含的有用信息,因为这对于理解人们的建议非常重要。我使用tinymce.EditorManager.activeEditor.editorId