YUI Rich Editor + invalidHTML + style

时间:2009-08-20 04:44:02

标签: javascript yui

我正在尝试在编辑器内容中插入内联样式标记。当我调用saveHTML时,当我在富编辑器视图中时它会删除样式块。我已经尝试将invalidHTML的style属性更改为false,但它似乎仍然会删除样式块。

在此阶段,任何指向API或建议的指针都会有所帮助!

谢谢, 上校

1 个答案:

答案 0 :(得分:3)

我希望我能正确理解你的问题。您只是希望能够在textarea中插入这样的内容吗?

<style>
    .className { font-weight: bold;}
</style>

如果是这样,我就可以使用YUI API文档中指定的方式工作了。特别是invalidHTML

上的这一部分

在初始化编辑器之前,我指定了我想要删除的所有无效标记:

var invalidTags = {"abbr":{ "keepContents":true }, 
    "acronym":{ "keepContents":true }, "address":{ "keepContents":true }, 
    "applet":"", "area":"", "base":"", "basefont":"", "bdo":"", "big":"", 
    "blockquote":{ "keepContents":true }, "body":{ "keepContents":true }}

我是一个相当长的列表(基本上所有的html标签),因为我排除了除p,style,br,ul,ol,li之外的所有内容。因此,在您的情况下,您将省略样式标记。

然后我设置编辑器,然后在渲染之前将invalidTags作为编辑器的invalidHTML传递。

所以这就是说完毕后所有事情的样子。

var invalidTags = {"abbr":{ "keepContents":true }, 
    "acronym":{ "keepContents":true }, "address":{ "keepContents":true }, 
    "applet":"", "area":"", "base":"", "basefont":"", "bdo":"", "big":"", 
    "blockquote":{ "keepContents":true }, "body":{ "keepContents":true }}

var editor = new YAHOO.widget.Editor('myeditor', {
    height: '300px',
    width: '500px',
    dompath: true,
    filterWord: true
}

editor.invalidHTML = invalidTags;
editor.render();

YAHOO.util.Event.on('Update', 'click', function() {
    editor.saveHTML();
}

这就是我如何得到它来保存我想要的标签。例如。风格。

希望能帮到你。