Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在tinymce编辑器中进行模糊时,如何获取父iFrame ID?_Javascript_Jquery_Tinymce - Fatal编程技术网

Javascript 在tinymce编辑器中进行模糊时,如何获取父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

我在一个页面上实现了4个TinyMCE编辑器。我想在用户离开TinyMCE编辑器并将编辑器的html放入文本区域时获取编辑器ID。在blur上,我可以获得编辑器html。但是我在Firefox和IE中找不到iFrame ID。我尝试了这段代码

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