لقد أعددت مراقبة الكلمات المفتاحية، ويمكنك أن ترى الكلمة حرفيًا داخل HTML الخاص بالصفحة عند فتح DevTools — ومع ذلك لا يتم تشغيل التنبيه أبدًا. لا يوجد أي خلل. يقرأ اكتشاف الكلمات المفتاحية القياسي النص المرئي للصفحة: الكلمات التي يمكن لأي شخص قراءتها فعليًا على الشاشة. إذا كانت القيمة التي تراقبها موجودة داخل عنصر مخفي، أو سمة data-، أو برنامج نصي مضمن، فهي بيانات حقيقية ولكنها ليست نصًا مرئيًا، لذلك يتجاوزها الاكتشاف العادي تمامًا.
الحل هو مربع اختيار واحد. في علامة التبويب Detect Keyword ضمن إضافة Auto Refresh من Extfy، فعّل Find monitor text in source وسينتقل البحث عن الكلمات المفتاحية من النص المعروض إلى مصدر HTML الكامل — بما في ذلك العناصر المخفية والسمات والبرامج النصية.
in_stock ✕
إخطار المستخدم
تشغيل صوت عند العثور على الكلمة المفتاحية/عدم العثور عليها
Find monitor text in source
تحمل صفحات الويب الحديثة معلومات في ترميزها أكثر بكثير مما تعرضه على الشاشة. وغالبًا ما تكون الكلمة المفتاحية التي تهمك موجودة في أحد هذه الأماكن:
display:none أو visibility:hidden، بانتظار أن يكشفها برنامج نصي.data- — قيم مثل data-availability="in_stock" أو data-status="approved" التي تتحكم في واجهة المستخدم ولكنها لا تُعرض كنص أبدًا.<script> ولا تعرضها إلا لاحقًا باستخدام JavaScript.title وalt وaria-label — قابلة للقراءة بواسطة الآلات وقارئات الشاشة، لكنها غير مرئية لمطابقة النص.تم تصميم اكتشاف النص المرئي عمدًا ليتوافق مع توقعاتك: فهو يقرأ الصفحة بالطريقة التي يراها بها الشخص، بعد أن ينتهي المتصفح من عرض كل شيء، ولا يأخذ في الاعتبار إلا الكلمات التي تظهر فعلًا على الشاشة. وهذا يجعله سريعًا ويحافظ على دقة النتائج — فوجود تطابق يعني أن الإنسان يمكنه رؤية الكلمة أيضًا. لكن ثمن هذا التصميم هو وجود نقطة عمياء. فأي شيء يوجد فقط داخل الترميز ليس نصًا مرئيًا بحكم التعريف، ولذلك لا يبحث عنه الكاشف مطلقًا. قد تكون الصفحة مليئة تمامًا بالنص الذي أدخلته ككلمة مفتاحية، ومع ذلك سيبلغ الاكتشاف بصدق بأنه «غير موجود»، لأنه في العرض المرئي غير موجود فعلًا.
in_stock، وليس التسمية «In stock» التي قد تعرضها الصفحة لاحقًا.تخيل صفحة منتج تعرض للمتسوقين عبارة «نفد المخزون»، بينما يحتوي الترميز بالفعل على data-availability="in_stock" — لقد تم تحديث البيانات، لكن واجهة المستخدم لم تلحق بها بعد. سيستمر اكتشاف النص المرئي في مطابقة عبارة «نفد المخزون» القديمة. عند تفعيل Find monitor text in source وتعيين الكلمة المفتاحية إلى in_stock، يكتشف Auto Refresh التغيير بمجرد وصوله إلى HTML، وغالبًا قبل لحظة من تحديث الصفحة المرئية. وتنجح الحيلة نفسها مع إشارات الأخطاء المخفية، وحالات الموافقة في أدوات الإدارة، وأي قيمة تعرضها الصفحة لاحقًا باستخدام JavaScript.
in_stock أو status-approved أكثر أمانًا بكثير من stock.
يُعد اكتشاف النص المرئي الخيار الافتراضي الصحيح — إلى أن يصبح الشيء الذي تراقبه لا يُعرض فعليًا أبدًا. عندما تكون الكلمة المفتاحية موجودة داخل عنصر مخفي، أو سمة، أو برنامج نصي، فعّل Find monitor text in source في علامة التبويب Detect Keyword في Auto Refresh، وسيقرأ Auto Refresh الصفحة بالطريقة نفسها التي يقرأها بها DevTools، ليلتقط البيانات التي يفوتها الاكتشاف العادي بصمت.