0

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

此编辑器将 iFrame 添加到页面并在您更改 iFrame 的contenteditable主体时更新 textarea。它类似于许多其他所见即所得的编辑器,所以我的问题应该适用于其他编辑器。

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

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

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

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

4

2 回答 2

1

我强烈推荐你使用JQuert TE WYSIHTML textarea 编辑器,尽管它有问题,但与许多其他的相比,它要好得多。

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

编辑:

示例:在 WYSIHTML5 的 parser_rules 文件夹中选择 advanced.js 或 basic.js(取决于您使用的是什么)找到:

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

用。。。来代替:

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

使用不同的规则重复此过程,直到您拥有所需的规则集。WYSIWYG textarea 编辑器都有不同的 JavaScript 库,但您使用的那个很容易编辑。

于 2013-10-02T12:33:19.880 回答
0

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

HTML 示例页面

于 2013-10-05T02:26:08.933 回答