extjs修改html不显示,Extjs htmleditor不会设置doctype和head标签

这篇博客介绍了ExtJS中一个自定义的富文本编辑器组件`MyHTMLEditor`,该组件在推送值到iframe时会保留DOCTYPE、html、head和body标签。通过覆盖`pushValue`和`cleanHtml`方法,实现了在推送值时对这些关键标签进行注释,然后在取出时取消注释,以保持HTML结构的完整。此外,还提到在Gecko浏览器中处理设计模式的切换问题。
摘要由CSDN通过智能技术生成

Ext.define('MyHTMLEditor', {

extend:'Ext.form.HtmlEditor',

alias: 'widget.myhtmleditor',

tagsToComment: ['!DOCTYPE', 'html', 'head', 'body'],

/**

* Pushing value to wysiwyg iframe loses dtd, html, head and body tags.

* Override hack to comment them out when pushing to iframe, and then uncomment

* them on the way back (see this.cleanHtml).

*/

pushValue: function() {

var me = this,

v;

if(me.initialized){

v = me.textareaEl.dom.value || '';

if (!me.activated && v.length < 1) {

v = me.defaultValue;

}

if (me.fireEvent('beforepush', me, v) !== false) {

/ change

for (var i=0;i

v = v.replace(RegExp('', 'ig'), '');

}

/

me.getEditorBody().innerHTML = v;

if (Ext.isGecko) {

// Gecko hack, see: https://bugzilla.mozilla.org/show_bug.cgi?id=232791#c8

me.setDesignMode(false); //toggle off first

me.setDesignMode(true);

}

me.fireEvent('push', me, v);

}

}

},

/**

* Uncomment the tags mentioned in pushValue

*/

cleanHtml: function(html) {

var me = this, i,

result = me.callParent(arguments);

for (i=0;i

result = result.replace(RegExp('', 'ig'), '');

}

return result;

},

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值