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