javascript - TinyMCE 将原始 html 插入事件编辑器

标签 javascript tinymce

使用 WindowManager for TinyMCE 我打开一个窗口,它写回原始 HTML。但它 chop 了我的图片链接。奇怪的是它不会对 anchor 标记执行此操作。只是图片标签。

我有这段代码

html = '<a title="'+ $('#title').val() +'" href="'+ $('#url').val() +'"><img src="'+ $('#imgURL').val() +'" /></a>';

    var parentEditor = parent.tinyMCE.activeEditor;
    parentEditor.execCommand('mceInsertRawHTML', false, html);
    parentEditor.windowManager.close();

它确实将 html 插入到事件编辑器中。当我将 html 登录到控制台时,我得到了

<a title="Click Action" href="yahoo.com"><img src="http://marketingedu.mychm.co/images/buttons/c2a-button4.png" /></a>

然而,当我在 tinyMCE 编辑器中查看源代码时,它将图像 SRC 属性更改为

../../images/buttons/c2a-button4.png

这是我对 TinyMCE 编辑器的整个 javascript 初始化

tinymce.init({
        selector: ".editor",
        setup: function(ed) {
            ed.on('change', function(e) {
                tinyMCE.triggerSave();

                $('form').trigger('checkform.areYouSure');
            });
            ed.on('init', function(e) {
                autoresize_max_height: 500
            });
            ed.addButton('defaultbtn', {
                title: 'Insert Button',
                icon: 'fa fa-plus-square',
                onclick: function() {
                    // Open window
                    ed.windowManager.open({
                        title: 'Button Selector',
                        url: "<?=$this->url('/webinar/custombuttons') ?>",
                        width: 800,
                        height: 600
                    });
                }
            });
        },
        plugins: [
            "advlist autolink link responsivefilemanager lists charmap print preview hr anchor pagebreak spellchecker",
            "searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking",
            "save table contextmenu directionality template paste textcolor colorpicker responsivefilemanager autoresize"
        ],
        toolbar: "undo redo | styleselect | bold italic | forecolor backcolor | alignleft aligncenter alignright | bullist numlist | outdent indent | table | link responsivefilemanager defaultbtn",
        image_advtab: true ,

        external_filemanager_path:"/filemanager/",
        filemanager_title:"Filemanager" ,
        external_plugins: { "filemanager" : "/filemanager/plugin.min.js"},
    });

最佳答案

改变这个:

var parentEditor = parent.tinyMCE.activeEditor;
parentEditor.execCommand('mceInsertRawHTML', false, html);

为此:

tinymce.activeEditor.setContent(html, {format: 'raw'});

这是一个引用 link关于如何以各种方式在 tinymce 上设置内容。

希望这对您有所帮助。

关于javascript - TinyMCE 将原始 html 插入事件编辑器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29569078/

相关文章:

javascript - screen.width 返回错误的大小 javascript android

javascript - 我们可以在 formik YupValidationSchema 中添加自定义验证吗?

tinymce - 在“插入/编辑链接”对话框中插入自定义按钮?

php - 文章发布中的 WordPress tinymce 问题

twitter-bootstrap - Tinymce - 想要内容不可修改但可格式化

jquery - Tinymce如何减少多个实例的选项

javascript - 在php中编码javascript数组?

javascript - 在 Angular 工厂内设置 *.prototype 方法不起作用

javascript - jQuery 验证添加规则

javascript - TinyMCE:反转 <p> 和 <br>