Ueditor高亮插件SyntaxHighlighter问题修正

Ueditor高亮插件SyntaxHighlighter问题修正

1、如果一行代码太长,就会造成代码块过宽,修改shCoreDefault.css,加上word-break:break-all:

.syntaxhighlighter {
    width: 100% !important;
    margin: .3em 0 .3em 0 !important;
    position: relative !important;
    overflow: auto !important;
    background-color: #f5f5f5 !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    border-collapse: separate !important;
    word-break: break-all;
}

2、双击以后文本框大小不对错位问题,修改shCore.js,为文本框增加高度:

/**
 * Quick code mouse double click handler.
 */
function quickCodeHandler(e)
{
    var target = e.target,
        highlighterDiv = findParentElement(target, '.syntaxhighlighter'),
        container = findParentElement(target, '.container'),
        textarea = document.createElement('textarea'),
        highlighter
        ;
    if (!container || !highlighterDiv || findElement(container, 'textarea'))
        return;
    highlighter = getHighlighterById(highlighterDiv.id);
    // add source class name
    addClass(highlighterDiv, 'source');
    // Have to go over each line and grab it's text, can't just do it on the
    // container because Firefox loses all \n where as Webkit doesn't.
    var lines = container.childNodes,
        code = []
        ;
    for (var i = 0; i < lines.length; i++)
        code.push(lines[i].innerText || lines[i].textContent);
    // using \r instead of \r or \r\n makes this work equally well on IE, FF and Webkit
    code = code.join('\r');
    // For Webkit browsers, replace nbsp with a breaking space
    code = code.replace(/\u00a0/g, " ");
    // inject