歌剧中的执行错误

execcomand fault in opera

本文关键字:执行 错误      更新时间:2023-10-02

最近我不得不在Opera中使用execCommand((。问题是,当我尝试使用此功能更改背景颜色(或文本颜色(时,一切都按预期工作,但是当我混合的颜色超过一种颜色时,会出现意外行为。我做了一个测试页面来理解我的意思:

<html><head>
<script type="text/javascript">
function changecolor(color) {
 document.execCommand ('ForeColor', false, color);
 document.getElementById('source').innerHTML = document.getElementById('content').innerHTML;
}       
</script>
</head>
<body>
    <button onclick="changecolor('red');">Red</button>
    <button onclick="changecolor('blue');">Blue</button>
    <div contenteditable="true" id="content">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
    <textarea id="source" style="margin-top:100px;width:800px;height:200px;"></textarea>
</body>

(参见 jsfiddle 上的操作(

所以,试着将这两种颜色与最新版本的 Opera 混合在一起,你就会明白我的意思。

我所看到的:当选择跨越多种颜色并以您尝试应用的相同颜色结束时,没有任何反应。当它以不同的颜色结尾时,一些旧颜色被删除,但新颜色不会应用。

这听起来类似于 Opera 现有的错误 CORE-24880"execCommand('bold'( 应该使选择加粗,即使部分选择是粗体"。我将跟进此错误并尝试将其推向更接近修复程序。