دعنا نتعامل مع المشكلة الأولى أولاً: 1. تحقق من رمز مصدر الوظيفة الموصى به في هذه الوظيفة أدناه المقالة
إنه في الواقع بسيط للغاية ، فقط انقر فوق الزجاج المكبرة لتحديد التوصية.
هذا VotePost (CB_ENTRYID ، 'DIGG') هو الدالة التي يسمى الزر الموصى بها. أليس هذا بسيط جدا؟
المشكلة الثانية هي تحديد موقع الملف حيث توجد الوظيفة.
في الواقع ، الأمر بسيط للغاية. بالطبع ، قد لا يعرف الأصدقاء الذين ليسوا على دراية بوحدة التحكم كيفية قراءته.
أكتب Votepost في وحدة التحكم وأضغط على Enter ،
يتم عرض رمز مصدر الوظيفة تقريبًا ، وهناك رابط المدونة common.js؟ v = we8o1xrgctu07qvvwyqerqd7aa8fdjp_dgoe-crat3k1: 1 ماذا يعني هذا؟
يتم تجاهل V = WE8O1XRGCTU07QVVWYQERQD7AA8FDJP_DGOE-CRAT3K1 مباشرة.
ملاحظة: إذا كنت تريد معرفة ما هذا ، فهو في الواقع رقم إصدار. أما بالنسبة لما يفعله ، فغالبًا ما يكون ذلك لمنع التخزين المؤقت. يرجى البحث عبر الإنترنت للحصول على التفاصيل.
blog-common.js: 1 يعني هذا تقريبا. .
Blog-common.js هو ملف JS حيث توجد هذه الوظيفة
1 هو رقم السطر حيث يوجد الرمز.
انقر فوق هذا الرابط مباشرة للقفز إلى لوحة المصادر. هذه هي لوحة المصدر ، وأهم وظيفة تصحيح الأخطاء ، وسيتم تقديمها ببطء لاحقًا.
ولكن كل الكود على سطر واحد ، كيف يمكننا أن ننظر إليه؟ يتم تقليل جميع الأحرف 4946 على سطر واحد. .
يزودنا Chrome بوظيفة تنسيق رمز ، انقر فوق الزر "طباعة جميلة" أدناه لتنسيق الرمز.
بعد الانتهاء من التنسيق ، سيكون جميلًا جدًا. أما ما إذا كان يمكنك فهمه أم لا ، فهذه مسألة أخرى.
لا يمكن لبعض الأشخاص فهم ذلك ، ربما تم تجميع الكود بواسطة أدوات مثل UglifyJS ، وإغلاق Google ، وما إلى ذلك ، مثل ملف jQuery.min.js.
قد يكون مستواك منخفضًا جدًا ولا يمكنك فهم الرمز الذي كتبه السيد في الوقت الحالي ، لذلك لا يمكنني فعل أي شيء حيال ذلك. يمكنك العمل بجد فقط لتحسين قوتك.
إذا كان التنسيق كافيًا ، فلا تقلق ، إذا كنت هنا ، فلماذا تشعر بالذعر؟
عد إلى لوحة وحدة التحكم الآن.
أنت مسرور للعثور على هذا المدونة common.js؟ v = WE8O1XRGCTU07QVVWYQHERQD7AA8FDJP_DGOE-CRAT3K1: 91
أصبح رقم السطر 91. انقر الآن على هذا الرابط ويمكنك القفز إلى الموضع المنسق المقابل. أليس من المريح للغاية؟ .
السؤال الأخير هو تعديل الوظيفة لإبطالها. هذا هو أبسط ، أبسط بكثير من تلك الآن ، لكن الكثير من الناس لا يستطيعون تشغيله ، لذلك أخرجته بشكل خاص وتحدثت عنه.
بادئ ذي بدء ، نعلم أن الوظيفة الموصى بها لاستدعاء هذه الوظيفة هي VotePost (CB_ENTRYID ، 'DIGG') ، وهي مكتوب مباشرة ومرتبطة بواسطة onClick على html.
إذن هذه الوظيفة هي وظيفة عالمية يمكن استدعاؤها في كل مكان ، فماذا يعني هذا؟
هذا يعني أنه يمكننا تعديله ، إنه يشبه المتغير العالمي ، يمكنك تعديله في أي مكان ، أليس كذلك؟ ثم يجب أن تكون الوظيفة العالمية صحيحة.
حتى نتمكن من تعديلها إلى وظيفة فارغة.
VotePost = function () {} ؛ أو VotePost = $ .noop ؛ $ .noop هي وظيفة فارغة توفرها jQuery لكي نكون مناسبة لنا لاستخدامها.
الآن VotePost هو وظيفة فارغة ، لذلك لن يحدث شيء إذا قمت بالنقر فوق زر التوصية.
بالطبع ، سوف يصدر ساري المفعول مرة أخرى بعد تحديث الصفحة. نحن فقط نلاحظه وتعديله على الصفحة. من المستحيل بالنسبة لنا أن نفعل مفعولًا بشكل دائم دون تغيير الكود المصدري لحديقة المدونة.
لذلك فإن تصحيح الأخطاء يعني عملية العثور على الأخطاء والقضاء عليها. إذا كان مصدر الخطأ موجودًا ، فقم بتعديله ثم اختبره. إذا كان هذا خطأ ، فقم بتحديثه وتعديله مرة أخرى ، لذلك ليست هناك حاجة لتعديل الملف الفعلي ، مما يجعله غير قابل للاسترداد.
محتوى اليوم هو كل ذلك تقريبًا. في الواقع ، هناك عدد قليل من الوظائف العالمية المباشرة التي يمكنك تصحيحها ، لأن JQuery شائع الآن ، وترابط الأحداث المختلفة مثل النقر وعلى وضع رمز المصدر في وضع معقد للغاية.
لحسن الحظ ، كتبت مقالًا من قبل وتحليل هذه المشكلة بمزيد من التفصيل. للحصول على التفاصيل ، يرجى الرجوع إلى "مناقشة موجزة حول قضايا تحديد مدونة المصدر لأحداث jQuery"
لست على دراية بأطر أخرى ، لذلك لم أحللها ، لكن الأفكار متشابهة بالفعل ، ويجب أن تكون هناك آلية لإدارة الأحداث.
ليس لدي الكثير من المعرفة اليوم ، لكن عليّ توحيدها بنفسي ، وإلا سأنسى ذلك في ثوان.
تمارين بعد الفصل:
1. تحليل كيفية تنفيذ وظيفة VotePost الموصى بها.
2. التصحيح الديناميكي وتحليل VotePost. (للجمع بين معرفة نقطة التوقف)
سأتحدث عن نقاط التوقف والتصحيح الديناميكي غدًا. لم أجد سؤالًا مناسبًا ، لذلك سأفعل ذلك أولاً. إذا كان لديك شيء مناسب يحتاج إلى تصحيح ديناميكي ، فيرجى الرد. .