CKEDITOR 在 chrome 中添加“?”在没有选择的情况下应用任何样式(粗体/斜体)时在光标位置标记

问题描述 投票:0回答:4

我有一个包含 CKEDITOR 的页面。当我尝试在编辑器中应用任何样式(没有选择,只是我在编辑器中单击)时,它在除 chrome 之外的所有其他浏览器中工作。

Chrome 添加“?”标记在光标位置。

这是 ckeditor 的 bug 吗?

我试着找到

addCommand("bold")
/
addCommand("strong")
功能,但未找到。

chrome 添加“?”如下标记:

<strong>?</strong>

我能解决那个问题吗?

请帮我解决这个问题

javascript jquery google-chrome styles ckeditor
4个回答
1
投票

我有同样的问题,但我通过对 ckeditor.js 进行一些更改解决了

if(!!g[0]&& g[0].startOffset!= g[0].endOffset){
     a.selectRanges(g);c.removeCustomData("doc_processing_style");
 }

在 selectRange 之前添加 if 条件。


1
投票

我和 ckeditor 有同样的问题。我通过用空字符串替换特殊字符来解决问题。

我是如何解决这个问题的:

  1. 我使用 jsbeautifier.org 美化了 ckeditor 缩小文件
  2. 文件美化后,找到了解析hrml的函数。下面是函数。 (在您的文件中搜索“htmlParser.text.prototype”)

    a.htmlParser.text.prototype = {
            type: 3,
            writeHtml: function(l, m) {
                var n = this.value;
                if (m && !(n = m.onText(n, this))) return;
                l.text(n);
            }
        };

  3. 我已经替换了上面函数中的行

        var n = this.value;
    

        var n = this.value.replace(/[^(\x20-\x7F)]*/g, '');

这一行将特殊字符替换为空。这解决了我的问题。这可能是一个黑客,但它对我有用。

希望这能节省一些人的时间。

注意:为了保持文件缩小,请在不美化文件的情况下搜索确切的代码并添加您的代码。

谢谢


0
投票

之前在 CKEditor 论坛上被问到。你可以在这里找到它:http://ckeditor.com/forums/Support/Question-Mark-after-pressing-button-toolbar 希望有帮助


0
投票

请在ckeditor.js文件中找到以下代码

CKEDITOR.tools.repeat

你会发现那里有'?'像这样重复计数

CKEDITOR.tools.repeat("?",7)

在您的情况下可能是 7 或其他值。

解决方法:请将此值设置为'0'。它会挑衅地工作。

© www.soinside.com 2019 - 2024. All rights reserved.