我已经制作了一个文件管理器,用于在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) 我正在使用 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 4.x没有连接。我在网上搜索了几天,但找不到将tinyMCE 4.x设置为只读模式的选项。
此时我只是隐藏工具栏和菜单栏,但我仍然可以删除文本等......
好的。我知道以前可能有人问过这个问题:
但我的问题是,如何从外部按钮而不是工具栏按钮调用插件函数。
我添加了一个自定义插件:
tinymce.PluginManager.add('example', function(e) {
function customfunction(){
e.focus(true);
alert('Hello TinyMce');
}
}
);
Run Code Online (Sandbox Code Playgroud)
我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用这种方式打电话是在做正确的事吗?
我错过了什么吗?
我们一直忙于将 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分支的顶部,或防止换行发生?
默认情况下 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 4 上禁用拖动图像?我使用jQuery:
jQuery('#tinymce img').on('dragstart', function(event) {
event.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)
但它不起作用......
您好,已经浏览了 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)
现场小提琴 代码。感谢帮助
我在 TinyMCEpaste_as_text: true中与forced_root_block: false. 粘贴已经是纯文本的工作正常,但从 Word 粘贴会<br>在每个换行符之间添加额外的标签。我不能简单地解析它们,因为这会破坏纯文本中正确的双换行符。
我注意到使用 ctrl-shift-v 粘贴可以解决此问题,并且很想将其设为默认粘贴方法,但找不到方法。
我目前正在尝试编写一个解析器以在 中使用paste_preprocess,但由于可以通过其他方式实现,我认为必须有更好的解决方案。
在tinyMCE编辑器中,我需要同时拥有p标签和br标签,这意味着p标签应该包裹br标签。虽然检查 P 标签包裹了 BR 标签<p><br></p>,但在 tinyMCE 编辑器的代码块中,它仅显示 p 块,尝试使用valid_elements:'*[*]',不起作用。