HTML代码中删除了属性

时间:2014-03-24 09:44:18

标签: wysihtml5

我使用的是wysihtml5。 插入图像时

<img alt src="src" media_img_id="123" data-title="title" data-author="author" />

结果是

<img alt src="src" />

img的规则

"img": {
    "remove": 0,
        "check_attributes": {
            "width": "numbers",
            "alt": "alt",
            "src": "url", // if you compiled master manually then change this from 'url' to 'src'
            "height": "numbers",
    "media_img_id": "numbers"
        },
        "add_class": {
            "align": "align_img"
        }
    },

如何使属性一般不被删除?

1 个答案:

答案 0 :(得分:0)

我今天有同样的任务来扩展这个编辑器的功能。 您应该在特殊对象中添加属性: 我使用了另外的bootstrap3-wysihtml5 - https://github.com/schnawel007/bootstrap3-wysihtml5。应该添加元素的新属性的对象:

var defaultOptions = $.fn.wysihtml5.defaultOptions = { 
  /../

  "img": {
    "check_attributes": 
          {
      "width": "numbers",
      "alt": "alt",
      "data-encid": "alt", <<-here is my custom attribute
      "src": "url",
      "height": "numbers"
      }
    },

 /../
}

并且在wysihtml5.js中你应该添加你的src属性与经典源(这个插件所期望的)不同的条件&#34; http://example.png&#34;。

第4922行:

if (checkAttributes) {
      for (attributeName in checkAttributes) {
        method = attributeCheckMethods[checkAttributes[attributeName]];
        if (!method) {
          continue;
        }
        newAttributeValue = method(_getAttribute(oldNode, attributeName));
        if (typeof(newAttributeValue) === "string") {
          attributes[attributeName] = newAttributeValue;
        }
      }
    }

替换为:

if (checkAttributes) {
      for (attributeName in checkAttributes) {
        method = attributeCheckMethods[checkAttributes[attributeName]];
        if (!method) {
          continue;
        }
        newAttributeValue = (attributeName == "src" && checkAttributes["data-encid"])
            ? oldNode.src
            : method(_getAttribute(oldNode, attributeName));
        if (typeof(newAttributeValue) === "string") {
          attributes[attributeName] = newAttributeValue;
        }
      }
    }

这里我只是复制src属性值而不检查wysihtml5.js核心。

希望这有帮助!