使用tinymce编辑器插件正确格式化布尔标签属性

jes*_*ate 6 tinymce microdata

我正在为tinymce编辑器构建一个插件,它为选定的文本添加了一些微数据,我想确保最终的标记是有效的.作为指定由微数据草案规范,一个新的项目是通过将属性中指示itemscope的元素,例如:

<section itemscope itemtype="http://example.com/vocab/someobject" itemid="someid" >
<meta itemprop="topic" content="something very interesting" />
  ....
  other microdata stuff
</section> 
Run Code Online (Sandbox Code Playgroud)

我已经扩展了tinymce的配置参数来识别这些微数据属性:

tinyMCE.init({
    ...
    schema: "html5",
    extended_valid_elements:"@[itemscope|itemtype|itemid|itemprop|content],div,span,time[datetime]"
    ...
});
Run Code Online (Sandbox Code Playgroud)

事情一般都在发挥作用.但是,当我使用插件时,微小的mce仍然通过向itemscope属性添加一个空值来"纠正"我的标记,如下所示:itemscope="".但是itemscope属性是一个布尔元素,AFAIU意味着它应该没有值.

所以问题是,a)如果itemscope属性有值,它仍然是有效的标记吗?和b)如果没有,(怎么样)我可以配置tinymce将itemscope作为一个合适的布尔属性,而不是附加=""位?

谢谢!

cyg*_*gri 7

布尔属性的值必须是空字符串,或者属性本身的名称.所以<div itemscope>,<div itemscope=""><div itemscope="itemscope">都是等效的.