Question

J'ai décidé que je suis tombé en amour avec l'éditeur Markdown sur Stack Overflow. Il est une fourchette de showdown.js de John Fraser. Je veux utiliser cet analyseur sur un projet de la mine, mais après avoir analysé la source, je trouve que c'était un désordre à mon goût de peu.

Je me suis donc sur la modification du code JavaScript pour répondre à mes besoins, à savoir:

  1. Se débarrasser de toutes les variables globales,
  2. En combinant les déclarations de variables à une seule portée par var,
  3. Modification concaténation à un tableau joint,
  4. divers autres tweaks pour but de rendre la source minified plus petite.

J'ai tout fonctionne à merveille, sauf un petit problème: Le code de saisie semi-automatique dans la fonction command.doList est bancale dans Chrome. Je l'ai testé tout fonctionne correctement dans Internet Explorer, FireFox et Safari. J'ai isolé la question jusqu'aux lignes suivantes:

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

Les deux lignes en commentaire près de la butée Chrome de se comporter bancal, mais pas les listes numérotées plus incrémentation automatique. Dès que je Décommentez les lignes, tous les principaux navigateurs commencent à fonctionner normalement, sauf pour Chrome. (Chrome devient fou et auto-complète la liste avec numérotation supplémentaire et des balles, se produit également lorsque vous essayez d'utiliser une liste non ordonnée.)

Le problème ne peut évidemment existe pas ici sur Stack Overflow, donc je suis en espérant qu'il est juste un oubli stupide de ma part. (Soit que le débordement de pile ou a mis à jour et fixe le bug.)

Était-ce utile?

La solution

Vous pouvez regarder fixer le pour une autre ADM fourche (ligne 32).

Autres conseils

Vous ne devriez pas avoir backslasher le * + - entre crochets, devriez-vous? Cela pourrait être ce que Chrome a des problèmes avec.

scroll top