Frage

Ich habe beschlossen, dass ich in der Liebe mit dem Editor Markdown gefallen habe auf Stack-Überlauf. Es ist eine Gabel aus showdown.js von John Fraser. Ich mag diesen Parser auf einem Projekt von mir verwenden, aber nach der Quelle der Analyse, fand ich, dass es ein bisschen chaotisch für meinen Geschmack war.

Also ich daran, den JavaScript-Code zu modifizieren meine Bedürfnisse zu erfüllen, nämlich:

  1. Erste aller globalen Variablen zu befreien,
  2. Die Kombination der Variablendeklarationen zu einem einzigen var pro Umfang,
  3. Ändern Verkettung Array verbindet,
  4. verschiedene andere Verbesserungen sollten die minimierte Quelle kleiner machen.

Ich habe alles, was schön arbeite, mit Ausnahme von einem kleinen Problem: Der Autocomplete-Code in der command.doList Funktion ist wackelig in Chrome. Ich habe alles richtig funktioniert in Internet Explorer, Firefox und Safari getestet. Ich habe die Sache bis zu den folgenden Zeilen getrennt:

// 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;
};

Die beiden kommentierten-out Linien in der Nähe der Endanschlag Chrome verhalten wackelig, aber nummerierten Listen nicht mehr Autoinkrement. Sobald ich un-Kommentar der Linien, alle gängigen Browser beginnen normalerweise, mit Ausnahme von Chrome arbeiten. (Chrome gehen verrückt und automatisch vervollständigt die Liste mit zusätzlicher Nummerierung und Aufzählungszeichen, geschieht auch bei dem Versuch, eine ungeordnete Liste zu verwenden.)

Das Problem offensichtlich existiert nicht hier auf Stack-Überlauf, so dass ich hoffe, es ist nur eine dumme Versehen meinerseits. (Entweder das, oder Stack-Überlauf wird aktualisiert und den Fehler behoben.)

War es hilfreich?

Lösung

können Sie an der fix rel="nofollow">

Andere Tipps

Sie sollten nicht Backslash müssen die * + - in eckigen Klammern, sollten Sie? Das könnte sein, was Chrome hat Probleme mit.

scroll top