2010-03-02 82 views
0

我正在製作自己的所見即所得編輯器。但是我不能用execcommand函數使任何文本粗體。我正在使用下面的代碼:ifc的exec命令不起作用

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
     <title>Untitled Document</title> 
     <script type="text/javascript"> 
      function loadWysiwyg() { 
       if(window.navigator.appName == "Microsoft Internet Explorer") { 
        reactioneditor.document.designMode = "on"; 
       } else { 
        document.getElementById('reactioneditor').contentDocument.designMode = "on"; 
       } 
      } 
      function make_bold() { 
       document.getElementById("reactioneditor").contentWindow.document.execCommand("bold", false, null); 
      } 
     </script> 
    </head> 

    <body onload="loadWysiwyg();"> 
     <iframe id="reactioneditor" style="border: 1px solid #CCC;width: 100%; height: 200px;"></iframe> 
     <button id="makebold" onclick="make_bold();">Maak bold</button> 
    </body> 
</html> 

我參考了多個教程,但沒有效果,我現在不怎麼修復它。

有沒有人可以?

回答

2

您的確切代碼適用於IE,Firefox和Chrome。我在iFrame中寫了一些文字,選中它,然後點擊按鈕。那些你正在採取的步驟?你有什麼錯誤嗎?

+0

omg,我很愚蠢。儘管execcommand適用於iframe中的整個文本(無需選擇它),謝謝你幫助我! – Timo 2010-03-02 19:26:34

+0

沒問題,我認爲這可能很簡單。通常'execCommand'將執行在用戶選擇的文本上傳遞給它的動作。 – rosscj2533 2010-03-02 19:33:37