添加<pre>TinyMce 4中的标签按钮
Add <pre> tag button in TinyMce 4
我打算将代码添加到一个tinymce文本区域,并计划使用highlight.js 进行高亮显示
为了做到这一点,我只需要将代码包装在标签<pre></pre>
和highlight.js之间
我尝试在tinymce中使用代码插件,它会打开一个弹出窗口,用户可以在其中粘贴代码。但令我惊讶的是,它实际上对该文本没有任何作用。它只允许您查看它的HTML代码,基本上只显示</p>
标记之间的文本。
我不想使用codesample插件,因为我只想添加pre
标记,不想对其应用任何codesample样式。我不想有一个语言列表可供选择,也不想将整个代码文本视为必须整体删除的块。
有什么办法吗?
如果我理解你的问题,你想要一个对话框,有人可以在其中粘贴一些HTML,当你将内容插入编辑器时,你会将其包装在<pre>
和</pre>
标记中。
TinyMCE中没有一个插件可以满足您的需求。你是对的,代码示例插件比这更复杂(它使用一种名为Prism.js的东西来处理语法着色和高亮显示)。
你可以做两件事之一:
- 看看像
codesample
和template
这样的插件是如何创建对话框的(它们使用windowManager
),然后你就可以制作自己的插件,它接受用户的输入,并在插入编辑器时将其封装在<pre>
和</pre>
标签中 - 通过TinyMCE init添加一个工具栏按钮或菜单项,并让该代码打开一个对话框(通过
windowManager
),然后将内容插入编辑器
如果您更喜欢第一个选项,使用TinyMCE现有的模板之一作为起点将节省一些编码时间,并向您展示如何使用windowManager
的好例子。
以下是一个过于简单的示例,说明如何在init:中使用windowManager
tinymce.init({
...
setup: function (editor) {
editor.addButton('insertusername', {
text: 'Insert User Name',
icon: false,
onclick: function () {
var person = {
firstname: '',
lastname: ''
};
editor.windowManager.open({
title: 'Insert User Name - Custom Dialog',
body: [
{
type: 'textbox',
name: 'firstname',
label: 'First Name:',
value: '',
minWidth: 800,
value: person.firstname,
oninput: function() {
person.firstname = this.value();
}
},
{
type: 'textbox',
name: 'lastname',
label: 'Last Name',
value: '',
minWidth: 800,
value: person.lastname,
oninput: function() {
person.lastname = this.value();
}
}
],
onsubmit: function(e) {
// console.log('onSubmit called');
editor.insertContent('<span class="abc">'+ person.firstname + ' ' + person.lastname + '</span> ');
}
});
}
}
}
...
});
相关文章:
- 如何创建一个表并在单击按钮时插入此标签和文本字段
- JavaScript:如何用变量填充单选按钮值和标签
- 带有音频标签的多个播放/暂停按钮
- bootbox 4.4如何使用不同的按钮标签进行提醒
- 当用户单击保存按钮时,标签会显示一条消息
- 只有第一个按钮在带有 Jquery 的 forEach 标签中有效
- 如何在视频标签中添加按钮覆盖
- 按钮标签,javascript 转换为链接标签
- 如何从表单标签外部的按钮手动触发 AngularJS 验证
- 单击按钮时编辑可编辑的标签
- 当单选按钮的标签可单击时双击
- 单击切换单选按钮和标签元素
- 使用动态og标签进行测试的facebook共享按钮
- 可变标签取决于选择的单选按钮
- 如何在单击“提交”按钮后使文本区域和 IMG 标签只读
- 如何使自述按钮在文章的第一段之后显示图像和h3标签
- 选择2个选择标签后启用按钮
- 添加<pre>TinyMce 4中的标签按钮
- 关闭按钮关闭标签面板中的活动选项卡,而不是标签按钮附加到EXTJS(标签动态创建)
- 如何使用鼠标或在标签按钮上使用.click()来检测真正的点击