我们目前在 CakePHP 框架上使用 TinyMCE(版本:3.3.9.2 (2010-09-29)),并尝试修改 Advance Themes 文件 tiny_mce/themes/advanced/editor_template.js
通过添加以下字符串接受微数据语法(用于使用 Schema.org 词汇表):
extended_valid_elements : "p[itemtype|itemscope|itemprop|id|class|style|title|dir<ltr?rtl|lang|xml::lang|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup]",
和/或
extended_valid_elements : "@[itemtype|itemscope|itemprop|id|class|style|title|dir<ltr?rtl|lang|xml::lang|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup]",
引用此调试片段:http://www.tinymce.com/develop/bugtracker_view.php?id=4469
但是,当我们修改文件并刷新时,即使我们把<p itemtype="def">This is some content.</p>
或 <div itemscope itemtype="http://schema.org/Movie">This is some content.</div>
作为 HTML 源代码编辑器中的测试,所有内容都被剥离。
有人对如何修复或导致 TinyMCE 继续剥离结构化数据有任何想法吗?
最佳答案
在 TinyMCE v3.4 之前有一个配置选项 cleanup
和另一个选项 verify_html
.您可以尝试将这些选项设置为 false
。 This thread似乎表明即使属性列在 extended_valid_elements
中,某些属性剥离仍会发生。
我对自己遇到这个问题内存犹新,读到 TinyMCE 积极修复无效的 HTML,即使配置设置得尽可能自由。如果我能在 TinyMCE 论坛上找到这些主题,我会编辑一些链接。
另一个问题可能是 CakePHP 正在进行的验证。旧版本的 CakePHP 有一个 Sanitize可以过滤掉 HTML 的类。确认字符串没有通过类似 HTML Purifier 的库运行.
关于javascript - 微数据的 tinymce extended_valid_elements,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28241172/