2011-08-04 58 views
3

使用像tinymce這樣的編輯器時,我如何限制用戶輸入的文本的高度,以便它不會在網頁上使用比我想要的更多的空間?以靈活的方式顯示tinymce內容,儘管最大高度爲

有兩件事情,我想對一些建議:

在編輯器: 用戶在TinyMCE的編輯器輸入文本時,他可以設置一個文本字體大小說80px這將用掉比普通信更多的空間。所以我不關心它的總數的高度。

在網頁: 我不想給他們多說爲200px值得的頁面上的文本。但是,如果他們只輸入一行小字號的文本,我不想顯示200px的空間。所以高度必須靈活,但最大限度。

我知道這不是確切的科學,但這裏的目標是防止用戶搞亂頁面。

+1

好問題。我沒有得到答案,但如果您沒有其他答案,請使用「overflow:hidden」顯示tinymce以及最大所需高度。用戶將自動知道什麼最大高度(因爲他不會看到它的文本後,高度),並使用經典的div來顯示與css max-height屬性和溢出的內容:隱藏 –

回答

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(';')); 
     } 
    }, 
+0

謝謝。我會檢查一下,看看它是否也適用於我。 – Jeroen

相關問題