2010-03-02 11 views
0

Je fais mon propre éditeur WYSIWYG. Mais je ne peux pas faire de gras avec la fonction execcommand. J'utilise le code suivant:ExecCommand pour iframe ne fonctionnent pas

<!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> 

Je readed plusieurs tutoriels, mais sans effet, je ne maintenant comment je peux le réparer.

Est-ce qu'il ya quelqu'un qui peut le faire?

Répondre

2

Votre code exact fonctionne pour moi dans IE, Firefox et Chrome. J'ai écrit du texte dans l'iFrame, je l'ai sélectionné et j'ai cliqué sur le bouton. Sont-ce les étapes que vous prenez? Avez-vous des erreurs?

+0

omg, je suis tellement stupide. Je pense que l'execcommand fonctionne pour tout le texte de l'iframe (sans le sélectionner) merci de m'avoir aidé! – Timo

+0

Pas de problème, je pensais que ça pourrait être quelque chose d'aussi simple. En général, execCommand exécutera l'action qui lui est transmise sur le texte sélectionné par l'utilisateur. – rosscj2533