iframe的execcommand不起作用

时间:2010-03-02 18:59:21

标签: javascript designmode

我正在制作自己的WYSIWYG编辑器。但我不能使用execcommand函数使任何文本粗体。我正在使用下一个代码:

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

我读过多个教程但没有效果,我现在不知道如何解决它。

有谁可以吗?

1 个答案:

答案 0 :(得分:2)

您的确切代码适用于IE,Firefox和Chrome。我在iFrame中写了一些文字,选中了它,然后点击了按钮。这些是您正在采取的步骤吗?你有任何错误吗?