"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني تنفيذ البرنامج النصي Greasemonkey عدة مرات على نفس الصفحة دون تحديث؟

كيف يمكنني تنفيذ البرنامج النصي Greasemonkey عدة مرات على نفس الصفحة دون تحديث؟

تم النشر بتاريخ 2024-11-21
تصفح:983

How can I execute a Greasemonkey script multiple times on the same page without a refresh?

حقن برنامج Greasemonkey عدة مرات في نفس الصفحة

بالنسبة للمستخدمين الجدد في Greasemonkey وJavaScript، ينشأ متطلب شائع حيث يحتاج برنامج المستخدم إلى يتم تنفيذها عدة مرات دون تحديث الصفحة. يصبح هذا السيناريو ضروريًا عندما يحدث طلب، مثل بحث Amazon، باستخدام Ajax دون تشغيل إعادة تحميل كاملة للصفحة.

الحل: استخدام الأداة المساعدة waitForKeyElements()

إلى لتلبية هذه الحاجة بشكل فعال، توفر الأداة المساعدة waitForKeyElements() حلاً قويًا وبسيطًا. تراقب هذه الأداة المساعدة عنصرًا محددًا وتنفذ وظيفة رد اتصال عندما يتغير محتوى العنصر. يوجد أدناه برنامج نصي كامل يستخدم jQuery وwaitForKeyElements لتعديل نتائج بحث Amazon:

// @name     _Amazon Search, alter results
// @include  http://www.amazon.com/s/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @require  https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant    GM_addStyle
// ==/UserScript==

function addCustomSearchResult (jNode) {
    jNode.prepend (
        '<div>

تفاصيل التنفيذ:

    الأداة المساعدة waitForKeyElements():
  • تتحقق هذه الأداة من وجود عنصر به المعرف "atfResults." عند العثور عليها، تقوم بتنفيذ وظيفة addCustomSearchResult().
  • وظيفة addCustomSearchResult():
  • تعمل هذه الوظيفة على تعديل نتائج بحث أمازون عن طريق إدخال المحتوى المخصص الخاص بك. في هذا المثال، يضيف div مخصصًا بالنص "اشترِ أشيائي بدلاً من ذلك!" إلى بداية كل صف نتيجة.
  • باستخدام هذا الحل، يمكنك الآن تنفيذ البرنامج النصي Greasemonkey الخاص بك عدة مرات على نفس الصفحة دون تحديث، مما يوفر لك قدرًا أكبر من المرونة والتحكم في تفاعلات المتصفح الخاص بك.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3