我使用Tinymce作为电子邮件编辑器。将嵌入图像作为附件插入时,图像将插入为:
private void Button_Click(object sender, RoutedEventArgs e)
{
var window = new Window();
var myButtonLocation = MyButton.PointToScreen(new Point(0, 0));
window.Width = MyButton.ActualWidth + 16;
window.Height = 300;
window.Left = myButtonLocation.X - 8;
window.Top = myButtonLocation.Y - window.Height;
window.Show();
}
这适用于电子邮件发送部分 - 但当然不适用于编辑器。图像未显示...
问题:是否有"内容"和"显示" Tinymce中的一层我可以挂进去吗?
我的目标是将内容保存为
<img src="cid:mycid@sth" />
并在编辑器窗口中将其转换为
<img src="cid:mycid@sth" />
我正在使用Tinymce 4。
答案 0 :(得分:1)
编辑器依赖于浏览器来呈现HTML,因此像<img src="cid:mycid@sth" />
这样的任何内容都不会在编辑器中呈现 - 它只是无效的HTML。
您可以做的是依靠HTML中的data-xxx
属性来存储您真正想要的数据,并在将其加载到TinyMCE时转换HTML。
例如......
当有人插入图片时,您可以创建以下HTML
<img data-src="cid:mycid@sth" src="/mypreview/image/2000" />
...这样可以让编辑器在您保留所需数据的同时实际渲染图像。保存内容后,您可以删除现有的src
数据,并将data-src
内容复制回src
,如果这是您的应用对其服务器端处理所需的内容。
如果有人编辑了内容,您可以撤消该过程并将src
更改回TinyMCE可以呈现的HTML。