Pregunta

He decidido que me he enamorado con el editor de Markdown desbordamiento de pila. Es un tenedor de showdown.js de John Fraser. Quiero utilizar este analizador en un proyecto mío, pero después de analizar la fuente, encontré que era un poco desordenado para mi gusto.

Así que se dedicó a modificar el código JavaScript para satisfacer mis necesidades, a saber:

  1. La eliminación de todas las variables globales,
  2. La combinación de las declaraciones de variables a un solo var por alcance,
  3. Cambio de concatenación a la matriz se une a,
  4. varios otros ajustes intención de hacer la fuente minified más pequeño.

tengo todo funcionando muy bien, excepto por un pequeño problema: el código de autocompletar en la función command.doList es poco firme en Chrome. He probado todo funcione correctamente en Internet Explorer, Firefox y Safari. He aislado el asunto a las siguientes líneas:

// Get the item prefix - e.g. " 1. " for a numbered list, " - " for a bulleted
// list.
getItemPrefix = function () {
    var prefix;
    if (isNumberedList) {
        // the `s` variable is just a string space.
        prefix = [s, num, '. '].join('');
        num++;
    } else {
        prefix = [s, bullet, s].join('');
    }
    return prefix;
};

// Fixes the prefixes of the other list items.
getPrefixedItem = function (itemText) {
    // The numbering flag is unset when called by autoindent.
    if (isNumberedList === undefined) {
        isNumberedList = /^\s*\d/.test(itemText);
    }

    // Renumber/bullet the list element.
    // THE FOLLOWING LINES COMMENTED OUT TO FIX A BUG.
    //itemText = itemText.replace(/^[ ]{0,3}([\*\+\-]|\d+[.])\s/gm,
        // function () { return getItemPrefix(); });
    return itemText;
};

Las dos líneas de comentarios de salida cerca de la parada final Chrome de wonky comportarse, pero listas numeradas ya no auto-incremento. Tan pronto como un-comentario de las líneas, todos los principales navegadores comienzan a funcionar normalmente, a excepción de cromo. (Chrome vuelve loco y completa automáticamente la lista con numeración y viñetas adicional, también ocurre cuando se intenta utilizar una lista desordenada.)

El problema, obviamente, no existe aquí desbordamiento de pila, así que estoy esperando es sólo un descuido estúpido de mi parte. (O eso, o desbordamiento de la pila ha actualizado y corregido el error.)

¿Fue útil?

Solución

Usted puede mirar en el solución para otro WMD tenedor (línea 32).

Otros consejos

No debería ser necesario a la barra invertida * + - entre corchetes, debe usted? Eso podría ser lo que Chrome está teniendo problemas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top