在所见即所得编辑器中编辑<html>,<head>,<body>等

Editing <html>, <head>, <body> etc. in WYSIWYG editor

本文关键字:head body 所见即所得 html 编辑器 编辑      更新时间:2023-09-26

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

此编辑器将 iFrame 添加到页面,并在您对 iFrame 的contenteditable正文进行更改时更新文本区域。它类似于许多其他所见即所得的编辑器,所以我的问题应该适用于其他编辑器。

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

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

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

我如何解决这个问题但仍使用此插件?我是否配置了错误的插件?我确定我已经在解析器规则中启用了标签。

我强烈建议您使用JQuert TE WYSIHTML文本区域编辑器,尽管即使它有错误,但与许多其他编辑器相比,它要好得多。

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

编辑:

例:在WYSIHTML5的文件夹parser_rules中选择"高级.js"或"基本".js(取决于您使用的内容(找到:

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

替换为:

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

使用不同的规则重复此过程,直到获得所需的规则集。所见即所得的文本区域编辑器都有不同的JavaScript库,但您使用的编辑器非常简单,可以编辑。

见即所得编辑器不是您要寻找的解决方案,因为您无法"看到"(使用样式格式化(页面的head或标记。你应该看看 http://codemirror.net/

HTML 示例页面