当使用像tinymce这样的编辑器时,我如何限制用户输入的文本的高度,这样它就不会在网页上使用比我想要的空间更多的空间?
我想要一些建议:
在编辑器中 用户在tinymce编辑器中输入文本,他可以将文本设置为font-size,例如80px,这将占用比普通字母更多的空间。因此,我所关心的文本数量并不是总数的高度。
在网页中 我不想在页面上给出超过200px的文本。但如果他们只输入一行文字小字体,我不想显示200px的空间。所以高度必须灵活,但最大限度。
我知道这不是确切的科学,但这里的目标是防止用户弄乱页面。
答案 0 :(得分:0)
为了解决类似的问题,我编写了以下函数(放在自己的tinymce插件中)。你需要为最大的情况添加一个变量,并且可能稍微调整一下,但我希望这段代码会让你走向正确的方向
// this function will adjust the editors iframe height to fit in the editors content perfectly
resizeIframe: function(editor) {
var frameid = frameid ? frameid :editor.id+'_ifr';
var currentfr=document.getElementById(frameid);
if (currentfr && !window.opera){
currentfr.style.display="block";
if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) { //ns6 syntax
currentfr.height = currentfr.contentDocument.body.offsetHeight + 26;
}
else if (currentfr.Document && currentfr.Document.body.scrollHeight) { //ie5+ syntax
currentfr.height = currentfr.Document.body.scrollHeight;
}
styles = currentfr.getAttribute('style').split(';');
for (var i=0; i<styles.length; i++) {
if ( styles[i].search('height:') ==1 ){
styles.splice(i,1);
break;
}
};
currentfr.setAttribute('style', styles.join(';'));
}
},