我有一个网站,用户可以使用TinyMCE的自定义实现发布内容(如论坛,评论等).他们中的很多人喜欢从Word复制和粘贴,这意味着他们的输入通常带有大量相关的MS内联格式.
我无法摆脱<span whatever>因为TinyMCE依赖于span标签的某些格式,我不能(并且不想)强迫所述用户使用TinyMCE的"从Word粘贴"功能(这不是'无论如何,似乎工作得很好.
有人知道图书馆/班级/功能会为我照顾这个吗?它必定是一个常见的问题,尽管我找不到任何确定的东西.我最近一直在想,一系列寻找特定于MS的模式的暴力正则表达式可能会成功,但我不想重新编写可能已经可用的东西,除非我必须这样做.
此外,固定卷曲引号,em-dashes等也会很好.我现在有自己的东西,但我真的只想找到一个MS转换过滤器来统治它们.
我试图用tinyMCE textarea提交表单.我通过javascript提交表单,为了做到这一点,我知道你必须调用tinyMCE.triggerSave将编辑器的内容复制到它替换的隐藏文本区域.对于我的生活,我不能得到tinyMCE.triggerSave做任何事情.我知道这不是因为我从safari和firefox调试工具运行命令,并且DOM中的任何内容都没有变化.
除了这个问题,tinyMCE似乎工作正常,表单显示和工作.我不能提交它.
编辑:即使我使用标准表单提交按钮,它也不会提取内容.
我使用jquery ajax函数在一些输入字段和textarea中添加内容.只有textare使用TINYMCE.
然而,在ajax之后,TINYMCE中的文本不会刷新并保持不变.
如何使用jquery清空TINYMCE中的内容?
我目前的代码如下.
//on submit event
$("#specformentry").submit(function(event){
event.preventDefault();
if(checkForm()){
// var href = $(this).attr("href");
submitinput.attr({ disabled:true, value:"Sending..." });
//$("#send").blur();
//send the post to shoutbox.php
$.ajax({
type: "POST",
url: "../../Ajaxinsertspec",
data: $('#specformentry').serialize(),
complete: function(data){
update_entry();
specdesc.val('');
datecreated.val('');
detailstext.val('');
// this code is supposed to empty the INYMCE content, but it does not
//reactivate the send button
submitinput.attr({ disabled:false, value:"Enter Spec" });
}
});
}
else alert("Please fill all fields!");
//we prevent the refresh of the page after submitting the …Run Code Online (Sandbox Code Playgroud) 我想了解tinymce的功能.
富文本编辑器在iframe中包含html文档.如何将嵌套的DOM元素放在可编辑的内部,换句话说,当没有涉及textarea或输入字段时,我怎么能在一个<div>或一个<p>图层内键入(至少我看不到任何内容)?
是活动时转换为输入字段的元素?
编辑:如果你要对这个问题进行投票,请说明原因.
我有一些textarea
<textarea name='text' id='text' ></textarea>
Run Code Online (Sandbox Code Playgroud)
这是在tinymce脚本的控制下.
我有简单的JavaScript
alert ($('#text').val());
Run Code Online (Sandbox Code Playgroud)
这没什么.问题是,tinymce正在将textarea转换成某种东西,所以实际上没有带有id'text'的textarea了.因为即使在textarea中输入了一些文本,当我按下提交按钮时,javascript会发出空警报.
所以问题是,只要我需要,javascript如何在运行中获得这种textarea的价值?
使用TinyMCE,我可以轻松地操作内容并将其发送回编辑器,如下所示:
// get content from tinyMCE
var content = tinyMCE.get('content').getContent();
// manipulate content using js replace
content = content.replace(/<\/?div>/gi, '');
// send back to tinyMCE
tinyMCE.get('content').setContent( content );
Run Code Online (Sandbox Code Playgroud)
上面的代码工作正常.但是,我不能让这个工作:
// get content from tinyMCE (it provides an html string)
var content = tinyMCE.get('content').getContent();
// make it into a jQuery object
var $content = $(content);
// manipulate the jquery object using jquery
$content = $content.remove('a');
// use a chained function to get its outerHTML
content = $("<div />").append( $content.clone() ).html();
// …Run Code Online (Sandbox Code Playgroud) 在我们的网站上,一些Mac用户在将PDF文件中的文本复制粘贴到TextArea(由TinyMCE处理)时会遇到麻烦.所有突出显示的字符都已损坏,并成为例如e?a é,i?for a î等.我无法使用Windows计算机重现此问题.
当我在一个文件上写入TextArea的内容时(在将其插入数据库之前),我发现初始文件e?在视觉上与传统文件不同é(在Vim上,见下文).

确实 :
// the corrupted é - first line of the screenshot
echo bin2hex($char); // display 65cc81
// traditionnal é
echo bin2hex('e?'); // display c3a9
Run Code Online (Sandbox Code Playgroud)
经过大量搜索后,我在这里:似乎Mac OS将Unicode强调的字符复制为两个字符的组合:在我们的示例中,e + ?.到目前为止,我没有找到任何解决方案来替换损坏é的真实的,以避免e?在数据库中.
而且我有点绝望.
我正在尝试自定义默认styleselect工具栏菜单,以便我可以添加自定义菜单元素.我们的想法是将字体大小设置为styleselect子菜单:
我TinyMCE 4.0.5用以下方式初始化了一个:
tinymce.init(
{
language_url : '/webobbywebapp/js/tiny_mce/language/es.js',
selector:'textarea',
plugins: "image, link, print",
toolbar: "styleselect | undo redo | removeformat | bold italic underline | aligncenter alignjustify | bullist numlist outdent indent | link | print | fontselect fontsizeselect",
menubar: false,
statusbar: true,
resize: true
});
Run Code Online (Sandbox Code Playgroud)
由于我无法找到如何自定义默认样式选择菜单,我还尝试创建一个完整的新菜单,我可以在其中添加字体大小控件.但我不想显示任何工具栏,我想要一个菜单栏.
编辑:现在我正在尝试使用以下代码修改styleselect菜单,但fontselect和fontsizeselect似乎已禁用
,style_formats:
[{
title: "Headers_",
items: [{title: "Header 1",format: "h1"}, {title: "Header 2",format: "h2"}, {title: "Header 3",format: "h3"}, {title: "Header 4",format: "h4"}, {title: "Header 5",format: "h5"}, {title: … 我想知道是否有办法配置TinyMCE(WYSIWYG HTML编辑器)为所有插入某种类型的元素添加一个类.我想要应用Bootstrap的样式,特别是表格.我想知道它有某种钩子或什么东西可以在插入时为元素添加一个类名?例如,我想添加class="table table-bordered"到通过UI插入的所有表元素.我知道有一种方法可以指定要应用于内容的样式表,但我不知道为插入的元素添加类名的机制.
我使用TinyMCE 4作为HTML页面的WYSIWYG编辑器.但是当我在TinyMCE中使用FreeMarker标签惯用语时<#if condition>,<#else>当我从"代码视图"(简单的textarea)转到"设计视图"(WYSIWYG)时,它们会被破坏.
例如,如果我在一个简单的textarea中编写HTML(代码视图)
<#if x == 1>
x is 1
<#else>
x is not 1
</#if>
Run Code Online (Sandbox Code Playgroud)
然后切换到编辑器并返回到代码视图,它变为:
<#if x == 1>
x is 1
<#else/>
x is not 1
</#if>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,FreeMarker标签在切换时会被转义.
Q1:有没有办法配置TinyMCE来处理这些标签,这样当我在编辑器和代码视图之间来回切换时,标记保持一致?
Q2:或者(以不同的方式说同样的事情)TinyMCE是否支持FreeMarker?
到目前为止我尝试了什么?
[#tag]...[/#tag]被TinyMCE视为纯文本.我试图在配置中禁用HTML验证:
verify_html: false,
valid_elements: '*[*]',
Run Code Online (Sandbox Code Playgroud)tinymce ×10
javascript ×5
jquery ×4
php ×2
encoding ×1
freemarker ×1
html ×1
ms-word ×1
text-editor ×1
tinymce-4 ×1
unicode ×1
user-input ×1
wysiwyg ×1