我希望我的用户能够在编辑页面屏幕上动态设置wp_editor的背景颜色。
例如,我使用Iris颜色选择器让用户为他们的页面设置背景色。
我希望在编辑时将此颜色应用于可视化编辑器,这样他们就会看到它是什么样子。
作为测试,我尝试通过调用以下命令来修改编辑器的背景颜色:
tinyMCE.init({
selector: 'textarea',
content_style: "div { background-color: #000000; }",
});它没有起作用。
发布于 2016-06-07 05:00:42
content_style设置作用于TinyMCE中HTML文档"body“中的元素-您真正想要做的是使<body>的背景颜色不同。
要执行此操作,请查看初始化的content_css设置:
tinymce.init({
selector: 'textarea',
...
content_css : "CSS/content.css"
});这允许您加载外部CSS文件以在TinyMCE中使用。然后,在content.css文件中,您可以执行以下操作:
body {
.
.
background-color: gray;
}现在编辑器本身的背景颜色将是灰色(基于上面的示例)。
如果你使用CSS,你真的不需要content_style,因为你可以把你所有的CSS放在外部CSS文件中。
编辑:
如果content_css不起作用,您可以尝试使用onInit事件并更新CSS:
tinymce.init({
selector: 'textarea',
setup: function (editor) {
editor.on('init', function () {
editor.getBody().style.backgroundColor = "#FFFF66";
});
...
})...which的结果如下:

(请注意,我只是通过控制台添加了这一点,以表明它可以做到)
您需要一种将该颜色传递到configuration对象的方法( JS变量就可以了),但这也应该可以完成工作。
发布于 2016-06-07 15:29:06
原来我所需要做的就是:
tinyMCE.get(0).getBody().style.backgroundColor = color;我使用的是WordPress的内置Iris Color Picker。下面是完整的电话:
$('.colorpicker').iris({
change: function(event,ui){
tinyMCE.get(0).getBody().style.backgroundColor = ui.color.toString();
}
});https://stackoverflow.com/questions/37665289
复制相似问题