هذا لا يحدث في كثير من الأحيان: لماذا يتم كسر رمز JavaScript هذا فقط في الكروم؟

StackOverflow https://stackoverflow.com/questions/4321325

سؤال

لقد قررت أنني وقعت في حالة حب مع محرر Markdown على Stack Overflow. إنه شوكة من showdown.js من جون فريزر. أرغب في استخدام هذا المحلل في مشروع لي ، لكن بعد تحليل المصدر ، وجدت أنه كان فوضويًا بعض الشيء لذوقي.

لذلك بدأت في تعديل رمز JavaScript لتلبية احتياجاتي ، وهي:

  1. التخلص من جميع المتغيرات العالمية ،
  2. الجمع بين التصريحات المتغيرة إلى واحدة var لكل نطاق ،
  3. تغيير التسلسل إلى صفيف ينضم ،
  4. تعديلات أخرى مختلفة تهدف إلى جعل المصدر المصغر أصغر.

لقد عملت كل شيء بشكل جميل ، باستثناء مشكلة صغيرة واحدة: الرمز الإكمال التلقائي في command.doList الوظيفة متزعزع في الكروم. لقد اختبرت كل شيء للعمل بشكل صحيح في Internet Explorer و Firefox و Safari. لقد عزلت الأمر وصولاً إلى الأسطر التالية:

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

علق الخطان الذي علق بالقرب من النهاية على Chrome من تصرف متزعزع ، لكن قوائم مرقمة لم تعد تلقائيًا. بمجرد إلغاء تعبير الخطوط ، تبدأ جميع المتصفحات الرئيسية في العمل بشكل طبيعي ، باستثناء Chrome. (يصبح Chrome مجنونًا ويكمل القائمة مع ترقيم ورصاص إضافي ، يحدث أيضًا عند محاولة استخدام قائمة غير مرتبة).

من الواضح أن المشكلة غير موجودة هنا على Stack Overflow ، لذلك آمل أن تكون مجرد إشراف غبي من جانبي. (إما ذلك أو فائض المكدس قام بتحديث الخلل وإصلاحه.)

هل كانت مفيدة؟

المحلول

يمكنك إلقاء نظرة على يصلح لشوكة WMD أخرى (السطر 32).

نصائح أخرى

يجب ألا تحتاج إلى التراجع عن *+- بين قوسين مربع ، هل يجب عليك؟ قد يكون هذا ما يواجهه Chrome مشاكل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top