配置参考 \ 集成配置编辑器的基本配置
此页更新时间:2020-02-18 18:31
此页英文文档:https://www.tiny.cloud/docs/configure/integration-and-setup/
编辑器的基本配置:
- auto_focus(自动获得焦点)
- base_url(设置主程序结构所在url)
- cache_suffix(缓存请求后缀)
- content_security_policy(内容安全策略)
- external_plugins(引入站外插件)
- hidden_input(开关内联模式用于存内容的‘隐藏input’)
- init_instance_callback(初始化结束后执行)
- setup(初始化前执行)
- plugins(指定需加载的插件)
- readonly(只读模式)
- selector
- suffix(加载用的后缀)
- target(使用Node替代selector)
auto_focus(自动获得焦点)
该参数用于让编辑器加载完成后自动获得光标焦点,值为true时为当前实例,为string时是指定其他编辑的实例ID。
取值:TRUE / String
tinymce.init({
selector: '#textarea1',
auto_focus: true,
});
base_url(设置主程序结构所在url)
5.0.8新增。
如果你的tinymce.js和其它应该放到与它同级的文件夹(比如插件皮肤等)因为某种原因没有放在一起。比如tinymce.js你是用cdn引入的,但皮肤和插件你想放在项目里之类的场景,那么用此参数可以解决你的问题。
取值:TRUE / String
tinymce.init({
selector: '#textarea1',
base_url: '/my/tinymce/dir',
});
cache_suffix(缓存请求后缀)
该参数可在TinyMCE加载js和css文件时,在URL请求后面自动加上指定的后缀,多用于解决缓存问题。
取值:String
tinymce.init({
selector: '#textarea1',
cache_suffix: '?v=5.0.0',
});
content_security_policy(内容安全策略)
为编辑器的iframe内容设置自定义内容安全策略。了解详情可自行搜索:HTML5内容安全策略(CSP)。
取值:String
tinymce.init({
selector: '#textarea1',
content_security_policy: "default-src 'self'",//仅允许当前域名,不包括子域名
});
external_plugins(引入站外插件)
可用于引入本站外部提供的插件,TinyMCE将根据插件加载规则加载指定URL的插件。当从CDN加载TinyMCE或希望TinyMCE主目录与自定义插件分开时,可使用此配置。
其值因为一个对象,形如{插件名:插件URL}
取值:Object
tinymce.init({
selector: '#textarea1',
external_plugins: {
'testing': 'http://www.testing.com/plugin.min.js',
'maths': 'http://www.maths.com/plugin.min.js'
}
});
hidden_input(开关内联模式用于存内容的‘隐藏input’)
默认tinymce在开启内联模式(inline)会生成一个‘隐藏的input’用于执行保存动作时存放编辑器的内容。此选项默认开启,如果不需要生成这个input,可以设为false禁用此功能。
取值:TRUE / FALSE
默认:TRUE
tinymce.init({
selector: '#textarea1',
inline: true,
hidden_input: false,
});
init_instance_callback(初始化结束后执行)
此配置选项允许你在编辑器初始化完成后,执行自己的回调函数。此函数支持一个参数,该参数为编辑器实例对象的引用。
取值:Function
tinymce.init({
selector: '#textarea1',
init_instance_callback : function(editor) {
console.log("ID为: " + editor.id + " 的编辑器已初始化完成.");
}
});
setup(初始化前执行)
与init_instance_callback类似,不过这个是在开始前执行一个自定义函数。
取值:Function
tinymce.init({
selector: '#textarea1',
setup: function(editor) {
console.log("ID为: " + editor.id + " 的编辑器即将初始化.");
},
});
plugins(指定需加载的插件)
为TinyMCE指定要加载的插件,此插件必须已存在plugins目录内,多个插件用空格分隔。默认TinyMCE不会加载任何插件。
取值:String
tinymce.init({
selector: '#textarea1',
plugins : 'advlist autolink link image lists charmap print preview'
});
readonly(只读模式)
将编辑器设置成只读模式,不可编辑。
取值:true / false
tinymce.init({
selector: '#textarea1',
readonly: true,
});
以上是初始化配置参数,该参数只可读不可改。如果想要关闭当前编辑器的只读模式,重设该参数是无用的,需要借助如下命令:
tinymce.editors['编辑器id'].setMode('design');//开启编辑模式
tinymce.editors['编辑器id'].setMode('readonly');//开启只读模式
selector
都看到这儿了就不用多说了吧……
取值:String
tinymce.init({
selector: '#textarea1',
});
suffix(后缀)
5.0.8新增。
详细解释一下这东西,tinymce加载插件的方式很特别,如果主程序叫tinymce.js,它在加载插件时就会去找插件文件夹里的plugin.js;如果主程序叫tinymce.min.js,它在加载插件时就会去找plugin.min.js。看到这里不知道你懂没懂,这个参数简单说就是用来设置“.min”这个部分的。
取值:String
tinymce.init({
selector: '#textarea1',
suffix: '.min',
});
target(使用Node替代selector)
当不方便使用css选择器指定编辑器容器的时候,例如容器需要动态创建,这种情况,可以通过直接赋予其Node对象来创建编辑器。
注意:selector优先级要高于target,如要使用target,则参数中不要出现selector。
取值:Node(HTML节点对象)
var el = document.querySelector('#tinydemo');
tinymce.init({
target: el,
});
下一节:外观配置