如何让TinyMCE的用户改变背景
How to enable user of TinyMCE to change background?
我的网站上有一个TinyMCE编辑器。我添加了iBrowser,这样人们就可以上传图片了。没关系。我也试过让他们改变他们正在编辑的网站的背景,但没有成功:如果我在HTML中添加背景图像div,然后回到编辑器并按回车键,它会将我移动到图像下方,而不是另一行。
如何让用户在TinyMCE改变网站的背景图像?
下面的代码将在编辑器中设置文档的background-image样式(其中ed是对当前TinyMCE实例的引用)
var edObj = ed.dom.getRoot();
//Set the Style "background-image" to the button's color value.
ed.dom.setStyle(edObj, 'background-image', "url(some_background_image.jpg)");
注意,我只在Mac上的Safari和Firefox上测试过。
唯一的问题是,即使你使用fullpage插件编辑整个HTML文档,当你使用getContent()检索内容时,它仍然不会返回带有应用样式的文档。如果您用已经定义了background-image样式的文档加载TinyMCE,那么TinyMCE将呈现它。
考虑到这一点,根据您如何为最终用户提供选择图像的能力,一种方法是在保存文档并在那里处理它的同时,提供一种将所选图像细节发送回服务器的方法,并应用background-image样式。
除了可以接受的答案之外,还可以稍后使用getStyle()以类似的方式检索您设置的值。非常有用的背景图像显示在预览中很容易。
var edObj = ed.dom.getRoot();
//gets the value that looks like "url(/someImage.jpg)"
//notice getStyle() instead of setStyle
//The boolean at the end is if you want the computed style
var background = ed.dom.getStyle(edObj, 'background-image', true);
document.body.style.background = background;
对于显示预览的弹出窗口,只需使用:
var edObj = tinyMCEPopup.editor.dom.getRoot();
var background = tinyMCEPopup.editor.dom.getStyle(edObj, 'background-image', true);
document.body.style.background = background;
确保在<body>
标记之后调用该函数,否则document.body
将未定义。
我希望这有助于其他人寻找一个简单的抓取解决方案,而不导入jQuery
相关文章:
- 用于根据用户改变文本区域的字体颜色的JavaScript'的选择
- 如何改变颜色时,用户滚动
- 如何让TinyMCE的用户改变背景
- 如何改变URL(哈希),当用户滚动或点击链接与jquery历史插件
- 在套接字中发送文件.在不改变用户窗口位置的情况下执行IO操作
- Div改变高度,当用户点击内容JS
- 与多个ckeditor使用checkDirty()提醒用户,如果内容已经改变之前离开页面
- Javascript根据用户所在的区域改变背景图像
- 如何“解除绑定”Mapbox中的弹出窗口?只允许从一定范围内的标记弹出(当用户移动时改变)
- 我怎样才能改变流星.用户_id
- 我如何使文本改变其他图像,然后用户鼠标悬停文本
- 表单动作改变javascript用户选项选择
- 必须有一个更好的方法-改变搜索作为用户输入的变化
- 使用用户输入改变.load
- 如何根据用户文本输入改变按钮文本
- 如何改变数据在javascript运行在外部网页的用户脚本
- 如何在three.js中创建一个颜色选择器,这将允许用户改变Maya 3D模型中特定多边形的颜色
- 使用setTimout根据用户改变刷新计时器的问题's的焦点
- 如何在没有用户改变文本框中的文本的情况下强制改变jquery事件
- JQuery时钟/计时器,因为页面被加载(即使用户改变他的计算机上的时间)