标签: tinymce-4

更改windowManager TinyMCE上按钮的配置

我已经制作了一个文件管理器,用于在tinyMCE上上传图像,并从另一个文件(attachment_path)获取表单上传和图像列表。首先,我成功获取了图像网址,并field_name在选择图像时将其放置在该位置。但是现在我想在选择图像时将禁用按钮(Insert)更改为false,然后将图像的URL放入按钮(使用自定义属性)。

脚本index_path

file_browser_callback: function(field_name, url, type, win) {
        tinymce.activeEditor.windowManager.open({
          title: 'My File Manager',
          file: "<%= attachments_path %>",
          width: 450,
          height: 305,
          resizable : "no",
          inline : "yes",
          close_previous : "no",
          buttons: [{
              text: 'Insert',
              classes: 'widget btn primary first abs-layout-item',
              disabled: true,
              onclick: 'close',
              id: 'insertButton'
          }, {
              text: 'Close',
              onclick: 'close',
              window : win,
              input : field_name
          }]
        }, {
            oninsert: function(url) {
                win.document.getElementById(field_name).value = url; 
            },
            onselect: function() {
                // 
            }
        }); …
Run Code Online (Sandbox Code Playgroud)

javascript jquery file-manager tinymce-4

6
推荐指数
1
解决办法
4903
查看次数

tinymce.ui 简单文本组件

我正在使用 tinymce 尝试扩展一个插件来显示具有特定布局的对话框:

 editor.windowManager.open({
        title: 'Title of my dialog',
        body: [
            {type: 'label', text: 'my label'},
            { name:'my_input', type: 'textbox'},
        //  {  type: 'text', html:'some content with <b>bold</b> if posilbe!'},
            //  {  type: 'html', value:'<div>with custom formating</div>'}
        ]
    }
Run Code Online (Sandbox Code Playgroud)

我多次检查了tinymce.ui的文档,但可以找到一种在对话框的构造函数中添加html或文本组件的方法(如示例中的注释行)。

我知道有一个选项使用对话框的现成 html 模板。但也有很多事件和触发器,因此使用构造函数和 .ui 组件更适合我的情况。

tinymce tinymce-4

5
推荐指数
1
解决办法
2271
查看次数

如何使tinyMCE 4.x 中的只读工作?

我在这里看到了很多帖子,但每一篇都太旧了,并且与tinyMCE 4.x没有连接。我在网上搜索了几天,但找不到将tinyMCE 4.x设置为只读模式的选项。

此时我只是隐藏工具栏和菜单栏,但我仍然可以删除文本等......

tinymce tinymce-4

5
推荐指数
1
解决办法
6479
查看次数

tinymce - 是否可以从工具栏外部调用自定义插件功能?

好的。我知道以前可能有人问过这个问题:

这里

但我的问题是,如何从外部按钮而不是工具栏按钮调用插件函数。

我添加了一个自定义插件:

tinymce.PluginManager.add('example', function(e) {
        function customfunction(){
                    e.focus(true);
                    alert('Hello TinyMce');
            }
        }
);
Run Code Online (Sandbox Code Playgroud)

在 Fiddle 上检查这个

customfunction从其他函数调用此函数,当我单击 时调用该函数Custom Button。像这样:

function clickme()
{
   tinymce.get('textareaid').plugins.example.customfunction();

}
Run Code Online (Sandbox Code Playgroud)

按钮:

<button onclick="clickme()" >Custom Button</button>
Run Code Online (Sandbox Code Playgroud)

但这对我不起作用?

custom plugin function用这种方式打电话是在做正确的事吗?

我错过了什么吗?

javascript tinymce-4

5
推荐指数
1
解决办法
5268
查看次数

防止在 TinyMCE 中输入默认键盘事件

我们一直忙于将 TinyMCE 从 3.x 升级到 4.2.5,无法阻止默认ENTER操作的发生。

我们的目标是在CTRL + enter按下时提交表单,重要的是提交应该在将换行符添加到 TinyMCE 之前发生。该3.x分支使我们能够将事件添加到队列的顶部:

// Important: inject new eventHandler via addToTop to prevent other events
tinymce.get('tinymce_instance').onKeyDown.addToTop(function(editor, event) {
    if (event.ctrlKey && event.keyCode == 13) {
        $("form").submit();
        return false;
    }
});
Run Code Online (Sandbox Code Playgroud)

不幸的是,我们无法弄清楚如何再次将其添加到事件的顶部。

event.preventDefault()并且event.stopPropagation()没有预期的效果,因为输入已经存在。奇怪的是它确实适用于其他键,可以防止字母数字键。http://jsfiddle.net/zgdcg0cj/

可以使用以下代码段添加事件:

tinymce.get('tinymce_instance').on('keydown', function(event) {
    if (event.ctrlKey && event.keyCode == 13) {
        $("form").submit();
        return false;
    }
});
Run Code Online (Sandbox Code Playgroud)

问题:当我们的事件处理程序被调用时,换行符会提前添加到 TinyMCE 内容中,因此存储了不需要的输入。如何将事件添加到4.x分支的顶部,或防止换行发生?

javascript tinymce tinymce-4

5
推荐指数
1
解决办法
4260
查看次数

TinyMCE:如何更改格式(“段落”、“标题 1”等)

默认情况下 TinyMCE (4) 有一个“段落?” 下拉菜单,如果你点击它,你会得到一个格式选项列表(“段落”、“标题 1”等)。

我希望能够做两件事。首先,我想更改选项及其名称(例如,更改为“Normal”和“Heading”),并且我找到了执行block_formats此操作的选项:

block_formats: 'Normal=p;Heading=h1'
Run Code Online (Sandbox Code Playgroud)

但是,我坚持第 2 件事:向生成的元素添加类。而不是普通<h1>元素,当有人选择“标题”时,我想生成一个<h1 class="heading">.

我想也许这会奏效:

block_formats: 'Normal=p;Heading=h1.heading'
Run Code Online (Sandbox Code Playgroud)

...但事实并非如此,而且我找不到任何其他选项可以让我这样做。再说一次,TinyMCE 文档并不总是最容易找到答案的地方,这就是我来到这里的原因。

有谁知道我如何配置 TinyMCE 以拥有“段落”?生成的元素上带有自定义名称和自定义类的下拉列表?

tinymce tinymce-4

5
推荐指数
1
解决办法
1528
查看次数

在 TinyMCE 4 上禁用拖动图像

如何在 TinyMCE 4 上禁用拖动图像?我使用jQuery

jQuery('#tinymce img').on('dragstart', function(event) {
    event.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)

但它不起作用......

tinymce tinymce-4

5
推荐指数
2
解决办法
2098
查看次数

TinyMCE 剥离了 iframe 中的 allowedfullscreen 属性?

您好,已经浏览了 TinyMCE 的文档,但无法找到为什么 TinyMCE 在 iframe 中剥离了 allowedfullscreen 属性?当我插入并重新编辑时,它被剥离了。尝试了 iframe 网址

<iframe src="http://players.brightcove.net/4338955589001/Bkh63tBcx_default/index.html?videoId=5347595845001" width="320" height="240" allowfullscreen></iframe>
Run Code Online (Sandbox Code Playgroud)

现场小提琴 代码。感谢帮助

tinymce-4 tinymce-plugins

5
推荐指数
1
解决办法
1971
查看次数

如何在没有额外换行符的情况下在 TinyMCE 中粘贴纯文本?

我在 TinyMCEpaste_as_text: true中与forced_root_block: false. 粘贴已经是纯文本的工作正常,但从 Word 粘贴会<br>在每个换行符之间添加额外的标签。我不能简单地解析它们,因为这会破坏纯文本中正确的双换行符。

我注意到使用 ctrl-shift-v 粘贴可以解决此问题,并且很想将其设为默认粘贴方法,但找不到方法。

我目前正在尝试编写一个解析器以在 中使用paste_preprocess,但由于可以通过其他方式实现,我认为必须有更好的解决方案。

javascript tinymce tinymce-4

5
推荐指数
1
解决办法
861
查看次数

需要在tinyMCE编辑器中同时具有p标签和br标签

在tinyMCE编辑器中,我需要同时拥有p标签和br标签,这意味着p标签应该包裹br标签。虽然检查 P 标签包裹了 BR 标签<p><br></p>,但在 tinyMCE 编辑器的代码块中,它仅显示 p 块,尝试使用valid_elements:'*[*]',不起作用。

在 DOM 中添加 br 标签

没有 br 标签

javascript jquery tinymce tinymce-4

5
推荐指数
1
解决办法
452
查看次数