亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

kindeditor修復會替換script內容的問題

2019-11-20 12:46:50
字體:
來源:轉載
供稿:網友

kindeditor一些個人修改

1.替換script里面的內容的問題
2.顏色選擇器擴展,復制的fck編輯器選顏色
3.swfupload.swf上傳前圖片預覽功能

kindeditor.js

function _formatHtml(html, htmlTags, urlType, wellFormatted, indentChar) {    if (html == null) {      html = '';    }    //2015-03-25    html = html.replace(/textarea__/ig, "textarea");    urlType = urlType || '';    wellFormatted = _undef(wellFormatted, false);    indentChar = _undef(indentChar, '/t');    var fontSizeList = 'xx-small,x-small,small,medium,large,x-large,xx-large'.split(',');     //2015-04-02將script里面的數據讀取處理    var obj = {};    var index = 0;    html = html.replace(/(<script/s[^>]*>)([/s/S]*?)(<//script>)/ig, function ($0, $1, $2, $3) {      var value = $2 + '';      if (value) {        var key = "{$script__" + index + "$}";        obj[key] = value;        index++;        return $1 + key + $3;      } else {        return $0;      }    });    html = html.replace(/(<(?:pre|pre/s[^>]*)>)([/s/S]*?)(<//pre>)/ig, function ($0, $1, $2, $3) {      return $1 + $2.replace(/<(?:br|br/s[^>]*)>/ig, '/n') + $3;    });    html = html.replace(/<(?:br|br/s[^>]*)/s*//?>/s*<//p>/ig, '</p>');    html = html.replace(/(<(?:p|p/s[^>]*)>)/s*(<//p>)/ig, '$1<br />$2');    html = html.replace(//u200B/g, '');    html = html.replace(//u00A9/g, '©');    html = html.replace(//u00AE/g, '®');    html = html.replace(/<[^>]+/g, function ($0) {      return $0.replace(//s+/g, ' ');    });    var htmlTagMap = {};    if (htmlTags) {      _each(htmlTags, function (key, val) {        var arr = key.split(',');        for (var i = 0, len = arr.length; i < len; i++) {          htmlTagMap[arr[i]] = _toMap(val);        }      });      if (!htmlTagMap.script) {        html = html.replace(/(<(?:script|script/s[^>]*)>)([/s/S]*?)(<//script>)/ig, '');      }      if (!htmlTagMap.style) {        html = html.replace(/(<(?:style|style/s[^>]*)>)([/s/S]*?)(<//style>)/ig, '');      }    }    var re = /(/s*)<(//)?([/w/-:]+)((?:/s+|(?:/s+[/w/-:]+)|(?:/s+[/w/-:]+=[^/s"'<>]+)|(?:/s+[/w/-:"]+="[^"]*")|(?:/s+[/w/-:"]+='[^']*'))*)(//)?>(/s*)/g;    var tagStack = [];    html = html.replace(re, function ($0, $1, $2, $3, $4, $5, $6) {      var full = $0,      startNewline = $1 || '',      startSlash = $2 || '',      tagName = $3.toLowerCase(),      attr = $4 || '',      endSlash = $5 ? ' ' + $5 : '',      endNewline = $6 || '';      if (htmlTags && !htmlTagMap[tagName]) {        return '';      }      if (endSlash === '' && _SINGLE_TAG_MAP[tagName]) {        endSlash = ' /';      }      if (_INLINE_TAG_MAP[tagName]) {        if (startNewline) {          startNewline = ' ';        }        if (endNewline) {          endNewline = ' ';        }      }      if (_PRE_TAG_MAP[tagName]) {        if (startSlash) {          endNewline = '/n';        } else {          startNewline = '/n';        }      }      if (wellFormatted && tagName == 'br') {        endNewline = '/n';      }      if (_BLOCK_TAG_MAP[tagName] && !_PRE_TAG_MAP[tagName]) {        if (wellFormatted) {          if (startSlash && tagStack.length > 0 && tagStack[tagStack.length - 1] === tagName) {            tagStack.pop();          } else {            tagStack.push(tagName);          }          startNewline = '/n';          endNewline = '/n';          for (var i = 0, len = startSlash ? tagStack.length : tagStack.length - 1; i < len; i++) {            startNewline += indentChar;            if (!startSlash) {              endNewline += indentChar;            }          }          if (endSlash) {            tagStack.pop();          } else if (!startSlash) {            endNewline += indentChar;          }        } else {          startNewline = endNewline = '';        }      }      if (attr !== '') {        var attrMap = _getAttrList(full);        if (tagName === 'font') {          var fontStyleMap = {}, fontStyle = '';          _each(attrMap, function (key, val) {            if (key === 'color') {              fontStyleMap.color = val;              delete attrMap[key];            }            if (key === 'size') {              fontStyleMap['font-size'] = fontSizeList[parseInt(val, 10) - 1] || '';              delete attrMap[key];            }            if (key === 'face') {              fontStyleMap['font-family'] = val;              delete attrMap[key];            }            if (key === 'style') {              fontStyle = val;            }          });          if (fontStyle && !/;$/.test(fontStyle)) {            fontStyle += ';';          }          _each(fontStyleMap, function (key, val) {            if (val === '') {              return;            }            if (//s/.test(val)) {              val = "'" + val + "'";            }            fontStyle += key + ':' + val + ';';          });          attrMap.style = fontStyle;        }        _each(attrMap, function (key, val) {          if (_FILL_ATTR_MAP[key]) {            attrMap[key] = key;          }          if (_inArray(key, ['src', 'href']) >= 0) {            attrMap[key] = _formatUrl(val, urlType);          }          if (htmlTags && key !== 'style' && !htmlTagMap[tagName]['*'] && !htmlTagMap[tagName][key] ||          tagName === 'body' && key === 'contenteditable' ||          /^kindeditor_/d+$/.test(key)) {            delete attrMap[key];          }          if (key === 'style' && val !== '') {            var styleMap = _getCssList(val);            _each(styleMap, function (k, v) {              if (htmlTags && !htmlTagMap[tagName].style && !htmlTagMap[tagName]['.' + k]) {                delete styleMap[k];              }            });            var style = '';            _each(styleMap, function (k, v) {              style += k + ':' + v + ';';            });            attrMap.style = style;          }        });        attr = '';        _each(attrMap, function (key, val) {          if (key === 'style' && val === '') {            return;          }          val = val.replace(/"/g, '"');          attr += ' ' + key + '="' + val + '"';        });      }      if (tagName === 'font') {        tagName = 'span';      }      return startNewline + '<' + startSlash + tagName + attr + endSlash + '>' + endNewline;    });    html = html.replace(/(<(?:pre|pre/s[^>]*)>)([/s/S]*?)(<//pre>)/ig, function ($0, $1, $2, $3) {      return $1 + $2.replace(//n/g, '<span id="__kindeditor_pre_newline__">/n') + $3;    });    html = html.replace(//n/s*/n/g, '/n');    html = html.replace(/<span id="__kindeditor_pre_newline__">/n/g, '/n');    for (var key in obj) {      html = html.replace(key, obj[key]);    }    //alert(html);    return _trim(html);  }

以上所述就是修改的kindeditor的全部代碼了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情一区二区三区在线视频观看| 高清视频欧美一级| 日韩欧美极品在线观看| 国内精品一区二区三区| 中文字幕免费精品一区高清| 亚洲日韩中文字幕在线播放| 91牛牛免费视频| 日韩有码视频在线| 日韩精品极品视频| 国产精品电影网站| zzijzzij亚洲日本成熟少妇| 中文字幕一区日韩电影| 精品欧美激情精品一区| 国产精品久久久久久久7电影| 中文字幕无线精品亚洲乱码一区| 欧美午夜片在线免费观看| 国产精品欧美日韩一区二区| 国产精品成av人在线视午夜片| 亚洲激情视频网站| 亚洲人成自拍网站| 热久久视久久精品18亚洲精品| 欧美在线免费视频| 最近中文字幕2019免费| 亚洲国产欧美久久| 粉嫩老牛aⅴ一区二区三区| 91久久久久久久久| 久久中国妇女中文字幕| 欧美日韩加勒比精品一区| 亚洲欧美日韩中文在线制服| 2019中文字幕全在线观看| 久久这里有精品视频| 欧美高清视频一区二区| 国产精品午夜国产小视频| 亚洲级视频在线观看免费1级| 欧美成人激情在线| 欧美日韩裸体免费视频| 在线精品91av| 国产精品爱啪在线线免费观看| 成人写真视频福利网| 综合网中文字幕| 日韩美女主播视频| 中文字幕国产精品| 欧美激情亚洲一区| 日韩免费观看视频| 一本久久综合亚洲鲁鲁| 中文欧美在线视频| 国产精品极品美女在线观看免费| 欧美国产日韩一区二区三区| 欧美日韩国产二区| 成人深夜直播免费观看| 国产精品女主播| 亚洲国产另类久久精品| 亚洲欧洲偷拍精品| 国产精品扒开腿做爽爽爽的视频| 欧美激情网友自拍| 国外成人在线播放| 丁香五六月婷婷久久激情| 亚洲综合视频1区| 亚洲激情视频在线观看| 精品久久久免费| 国产精品免费久久久久影院| 欧美国产日韩一区| 欧美午夜性色大片在线观看| 国产精品欧美一区二区| 亚洲一区久久久| 国产精品日韩欧美| 久久6免费高清热精品| 夜色77av精品影院| 日韩中文字幕不卡视频| 亚洲美女在线看| 欧美激情精品久久久久久久变态| 668精品在线视频| 久久久久久久久爱| 在线成人激情黄色| 国产日韩精品在线播放| 一区二区三区亚洲| 98精品国产自产在线观看| 91高清视频免费观看| 97超级碰在线看视频免费在线看| www.日韩.com| 国产91精品青草社区| 亚洲黄页视频免费观看| 91久久久国产精品| 国产91在线高潮白浆在线观看| 精品亚洲精品福利线在观看| 中文字幕日韩精品有码视频| 国产精品日韩在线一区| 久久久在线观看| 欧美日韩久久久久| 一区二区中文字幕| 国产主播精品在线| 日韩女优人人人人射在线视频| 日本精品视频在线观看| 91精品国产99| 欧美精品性视频| 国产一区二区久久精品| 97碰碰碰免费色视频| 国产午夜精品全部视频播放| 日韩免费高清在线观看| 5566日本婷婷色中文字幕97| 国产精品吹潮在线观看| 成人免费看片视频| 亚洲欧美国内爽妇网| 精品少妇一区二区30p| 亚洲第一av在线| 精品国产电影一区| 国产精品一区二区三区久久| 国产午夜精品一区理论片飘花| 亚洲午夜未满十八勿入免费观看全集| 亚洲欧洲一区二区三区在线观看| 国产一区二区精品丝袜| 大胆欧美人体视频| 亚洲自拍偷拍福利| 91视频88av| 亚洲欧美日韩第一区| 亚洲无线码在线一区观看| 欧美性猛交xxxx黑人| 国产精品一香蕉国产线看观看| 中文字幕欧美国内| 久久久最新网址| 91sa在线看| 久久99精品久久久久久噜噜| 丝袜美腿亚洲一区二区| 96精品久久久久中文字幕| 91精品综合久久久久久五月天| 亚洲一区国产精品| 欧美成人午夜免费视在线看片| 5252色成人免费视频| 午夜精品一区二区三区在线播放| 97av在线视频免费播放| 亚洲天堂男人天堂女人天堂| 91网站免费看| 国产热re99久久6国产精品| 日韩亚洲国产中文字幕| 亚洲电影在线看| 国产欧美在线播放| 97精品一区二区三区| 欧美在线免费观看| 欧美激情xxxx性bbbb| 国产99久久久欧美黑人| 色妞欧美日韩在线| 国产精品中文字幕在线| 国产精品久久av| 大伊人狠狠躁夜夜躁av一区| 欧美另类暴力丝袜| 国产精品日韩一区| 国产精品99一区| 97精品视频在线观看| 亚洲国产精品久久久久久| 亚洲第一天堂av| 91日本在线视频| 久久精品欧美视频| 最新国产精品拍自在线播放| 欧美成aaa人片在线观看蜜臀| 色综久久综合桃花网| 国产精品高潮呻吟久久av野狼| 久久精品人人爽| 91豆花精品一区| 欧美日韩中文字幕在线| 国产999精品| 日韩高清电影免费观看完整| 亚洲精美色品网站| 8x海外华人永久免费日韩内陆视频| 亚洲国产欧美一区|