在WYSIWYG编辑器中编辑等

时间:2013-09-25 09:05:41

标签: javascript jquery html iframe wysihtml5

我正在使用WYSIHTML5编辑器:http://xing.github.io/wysihtml5/

此编辑器会向页面添加iFrame,并在您对iFrame的contenteditable正文进行更改时更新textarea。它与许多其他WYSIWYG编辑器类似,因此我的问题应该适用于其他编辑。

我的问题是,我希望能够通过此编辑器修改<html><head><body>和其他重要的基本代码。你显然无法在WYSIWYG模式下编辑它们,所以原始代码模式就可以了。

当我启用这些标签时,它们会被浏览器本身剥离,因为这些标签已经被iFrame本身的页面打开了。因此,当我在原始代码和WYSIWYG模式之间切换时,它们就会丢失。

我使用默认的“高级”解析器规则,并使用jQuery的递归$.merge()将它们与http://pastebin.com/6QvYkqm4合并。

我怎样才能解决这个问题,但仍然使用这个插件?我是否错误配置了该插件?我确定我已在解析器规则中启用了这些标记。

2 个答案:

答案 0 :(得分:1)

我强烈建议您使用JQuert TE WYSIHTML textarea编辑器,即使它有错误,但与其他许多编辑器相比,它更好。

使用WYSIHTML编辑器构建的JavaScript库可以搜索这些标记并删除它们,因为它不是安全漏洞,如果它离开,它可能会扭曲网站布局。想象一下,如果用户更改了页面的标题。如果您真的想要实现这些功能,我建议您找到在WYSIHTML5库中删除这些标记的代码,并将其更改为无法识别这些特定标记。祝你好运。

编辑:

实施例: 在WYSIHTML5的文件夹parser_rules中选择advanced.js或basic.js(取决于你使用的)find:

"head": {
        "remove": 1
},

替换为:

"head": {
        "rename_tag": "head"
    },

使用不同的规则重复此过程,直到获得所需的规则集。 WYSIWYG textarea编辑器都有不同的JavaScript库,但是你使用的那个很简单,可以编辑。

答案 1 :(得分:0)

WYSIWYG编辑器不是您正在寻找的解决方案,因为您无法“查看”(格式化样式)head或页面标记。你应该看看http://codemirror.net/

HTML example page