1

JavaScript を使用して簡単な WYSIWYG 編集を行うように設定していますが、Chrome や IE (すべての最近のバージョン) では発生しない問題が Firefox で発生しました。スパン内のすべてのテキストcontentEditableが選択されているときに、 を使用して太字にしようとするとdocument.execCommand('bold',false,null)、「NS_ERROR_FAILURE: Failure」という意味不明なエラー メッセージが表示されます。

問題を簡単に再現するための簡単なコード例を次に示します。

<html>
    <head>
        <script>
            function start(){

                var edit = document.getElementById('edit');
                edit.contentEditable = true;

                var button = document.getElementById('button');
                button.onclick = function(){

                    // Get the editable span
                    var edit = document.getElementById('edit');

                    // Select the contents of the span
                    var range = document.createRange();
                    range.selectNodeContents(edit);
                    var selection = window.getSelection();
                    selection.removeAllRanges();
                    selection.addRange(range);

                    // Make the text bold
                    document.execCommand('bold',false,null);

                }

            }
        </script>
    </head>
    <body onload="start();">
        <span id='edit'>Click on the button</span>
        <button id='button'>Bold It All!</button>
    </body>
</html>

それで、私はここで何が間違っていますか?バグに遭遇しただけですか?もしそうなら、誰かが回避策を提案できますか?

4

1 に答える 1