User Script عبارة عن جزء صغير من التعليمات البرمجية التي يتم تشغيلها داخل صفحات الويب المطابقة. ابدأ ببضعة أسطر، وقم بإجراء تغيير واحد مفيد، ثم تعلم JavaScript فقط حسب حاجتك إليه.
مناسب للمبتدئينتطبيق عملي في كل درسJavaScript وCSS وHTMLمدمج داخل Social Browserيعمل مع أتمتة الذكاء الاصطناعي
يعمل مع أتمتة الذكاء الاصطناعي: استخدم User Scripts بجانب Automation Studio وWorkflows يقودها الذكاء الاصطناعي عبر MCP AI. استكشف MCP للذكاء الاصطناعي →
لم تكتب سكربت من قبل؟ابدأ بالدرس 1. نشرح لك الحد الأدنى من JavaScript الذي تحتاجه.
تستخدم بالفعل سكربتات شبيهة بـTampermonkey؟انتقل إلى البيانات التعريفية والمطابقة والنطاق وSocial Browser بروفايلات.
تريد Workflows كاملة؟استخدم User Scripts بجانب Automation Studio وWorkflows يقودها الذكاء الاصطناعي عبر MCP AI.
دورة عملية للسكربتات
خمس مراحل، ونتيجة مفيدة في كل مرحلة.
اجعل كل اختبار صغيرًا. يجب أن يكون User Script الجيد سهل الفهم وسهل التعطيل ومحدودًا بالصفحات التي ينتمي إليها.
قبل تشغيل التعليمات البرمجية من الإنترنت: قراءتها، وفهم الصفحات التي تطابقها، والتحقق من سلوك التخزين/الشبكة، واختبارها في بروفايل الخاضع للتحكم. تتجنب هذه الأمثلة عمدًا كلمات المرور وملفات تعريف الارتباط وبيانات الجلسة.
مكتبة أمثلة GM API
وصفات GM مفيدة يمكنك نسخها وقراءتها وتكييفها.
كل مثال صغير عمدا. ابدأ بمشكلة واحدة، انسخ البرنامج النصي، واقرأ كل سطر، ثم قم بتغيير المحددات أو URLs أو التسميات التي تفهمها فقط.
// @grant GM_notificationfunction notifyReady(label) { GM_notification({ title: 'Social Browser User Script', text: `${label} is ready to review`, timeout: 5000 });}// Call this only after your script detects the result.notifyReady('The report');
قبل تشغيل التعليمات البرمجية المنسوخةاقرأها، ضيِّقها @match القواعد، مراجعة كل @grant and @connect، واختبره في مكان آمن بروفايل أولاً.
دورة User Scriptsنظرة عامة على الدورة
اختر درسًا أو ابدأ الدورة الموجّهة.
البداية · الدرس الأول
ما هو User Script في الواقع
الوقت 5 دقائقهدف فهم ما يمكن أن يتغير User Scripts
User Script هو JavaScript الذي يقوم المتصفح بتشغيله لك على الصفحات التي تطابق القواعد التي تختارها. يمكنه إجراء تغييرات صغيرة على موقع ويب بعد فتح الصفحة: تمييز المعلومات، أو إضافة اختصار، أو إخفاء الفوضى، أو مساعدة نموذج متكرر، أو التفاعل مع أحداث الصفحة.
بدون نص
افتح الصفحة.
قم بإجراء نفس التعديل الصغير.
كرر ذلك في الزيارة القادمة.
مع User Script
قم بإنشاء القاعدة مرة واحدة.
قصره على الصفحات الصحيحة.
دعه يعمل تلقائيًا عند فتح تلك الصفحات.
لماذا يعتبر User Scripts مفيدًا داخل Social Browser
يجمع Social Browser بين User Scripts والمتصفح المستمر بروفايلات. يمكن أن يحتفظ بروفايل بجلسته الخاصة وسعة تخزينه وإعداداته ونصوصه البرمجية، لذلك يمكن أن يظل التخصيص الصغير قريبًا من سياق المتصفح الذي تستخدمه فيه بالفعل.
هام: يقوم User Script بتشغيل التعليمات البرمجية داخل صفحات الويب. قم بتثبيت البرامج النصية فقط من المصادر التي تفهمها وتثق بها. يجب أن يكون البرنامج النصي المفيد سهل القراءة، ومحدودًا بالصفحات التي يحتاجها، وسهل التعطيل.
المبتدئ · الدرس الثاني
قم بإنشاء أول User Script الخاص بك
الوقت 5-10 دقائقهدف قم بتشغيل برنامج نصي صغير وشاهد تغيير الصفحة
ابدأ بشيء غير ضار ومرئي. الهدف هو إثبات التدفق الكامل: إنشاء → حفظ → تمكين → فتح صفحة مطابقة → رؤية النتيجة.
1
افتح User Scripts
افتح مدير User Script المدمج في Social Browser وقم بإنشاء برنامج نصي جديد.
2
أعطها اسما واضحا
استخدم اسمًا يوضح ما يفعله البرنامج النصي، مثل Highlight Test Heading.
3
اختر صفحة اختبار آمنة
استخدم صفحة تتحكم فيها أو صفحة غير ضارة حيث لن يؤدي تغيير العرض إلى إرسال البيانات أو تغيير الحساب.
استخدمه للمظهر: إخفاء العناصر المرئية أو تغيير حجمها أو تمييزها أو إعادة ترتيبها.
HTML
HTML
استخدمه عندما يحتاج البرنامج النصي إلى لوحة مساعدة صغيرة أو تسمية أو عنصر تحكم.
حافظ على تغييرات الصفحة صغيرة: تعد إضافة مربع مساعد أسهل في الصيانة من إعادة بناء واجهة موقع الويب داخل البرنامج النصي.
البناء · الدرس السادس
استخدم مدير البرنامج النصي المدمج
الوقت 7 دقائقهدف قم بإنشاء البرامج النصية والعثور عليها وتمكينها وتحريرها بثقة
مدير البرامج النصية هو المكان الذي يجب أن تظل فيه البرامج النصية القابلة لإعادة الاستخدام منظمة. استخدم أسماء واضحة، واحتفظ بالتجارب المعطلة منفصلة عن البرامج النصية العاملة، واجعل من السهل إيقاف تشغيل البرنامج النصي عند تصحيح أخطاء الصفحة.
إنشاء وتحرير البرنامج النصي.
ابحث عنه أو حدده باسم واضح.
تمكينه أو تعطيله دون حذفه.
قم بمراجعة قواعد JavaScript وCSS وHTML وURL معًا.
احتفظ بالنصوص التجريبية التي تحمل اسم الاختبارات بشكل واضح.
البناء · الدرس السابع
استيراد البرامج النصية دون التعامل مع الإنترنت كرمز موثوق به
الوقت 8 دقائقهدف قم بالاستيراد من ملف أو URL ومراجعته قبل التمكين
يمكن لـ Social Browser إنشاء البرامج النصية يدويًا أو استيرادها من ملف أو URL المباشر. يمكنه أيضًا التعرف على تدفقات تثبيت User Script الشائعة. إن الاستيراد أمر مريح، لكن الراحة ليست مثل الثقة.
1
تعرف على المصدر
تفضل الكود الذي كتبته، والذي يمتلكه فريقك، أو المصدر الذي يمكنك التحقق منه.
2
قراءة البيانات الوصفية
تحقق من الاسم ومطابقة URLs وسلوك التنفيذ.
3
قم بمراجعة الكود
ابحث عن طلبات الشبكة غير المتوقعة، أو إجراءات النماذج المخفية، أو الوصول إلى التخزين، أو المطابقة العامة للصفحات.
4
اختبار في بروفايل آمنة
قم بتمكينه على صفحة يتم التحكم فيها قبل استخدامه في جلسة متصفح مهمة.
البناء · الدرس الثامن
تخبر البيانات التعريفية المتصفح بكيفية تشغيل البرنامج النصي
الوقت 8 دقائقهدف فهم الإعدادات حول الكود
User Script المفيد أكثر من JavaScript. يمكن لـ Social Browser استخدام معلومات البرنامج النصي مثل العنوان/الاسم، وURLs المسموح به والمستبعد، ورؤية القائمة، ونطاق النافذة/الإطار، والتنفيذ التلقائي، وتنفيذ مرحلة التحميل المسبق.
الإعداد
سؤال يجيب عليه
الاسم / العنوان
ماذا يفعل هذا البرنامج النصي؟
مسموح به URLs
أين يمكن تشغيله؟
مستبعد URLs
أين يجب أن لا تعمل؟
نطاق النافذة / الإطار
ما هو سياق المستند الذي يجب أن يستقبله؟
التنفيذ التلقائي
هل يجب تشغيله بدون إجراء قائمة يدوي؟
مرحلة التحميل المسبق
هل يجب البدء مبكرًا في تحميل الصفحة؟
رؤية القائمة
هل يجب أن يكون المستخدم قادرًا على تشغيله من قائمة البرامج النصية؟
رد فعل · الدرس 9
قم بالتفاعل مع الصفحة بدلاً من التحقق منها باستمرار
الوقت 8 دقائقهدف استخدم أحداث DOM للتفاعلات البسيطة
تنتج الصفحات بالفعل أحداثًا: النقرات وتغييرات الإدخال والتركيز والتنقل والمزيد. عادةً ما يكون الاستماع إلى الحدث الذي تحتاجه أكثر نظافة من تشغيل حلقة سريعة تتحقق من الصفحة بأكملها مرارًا وتكرارًا.
قاعدة الأداء: تفضل حدثًا أو مراقبًا محددًا على مؤقت عالي التردد دائم.
رد فعل · الدرس 10
التعامل مع الصفحات التي تتغير بعد تحميلها
الوقت 10 دقيقةهدف العمل مع العناصر المؤجلة والمعاد عرضها
غالبًا ما تعرض مواقع الويب الحديثة المحتوى بعد تحميل الصفحة الأولى. إذا لم يكن العنصر المستهدف موجودًا بعد، فيمكن للبرنامج النصي انتظاره أو مراقبة جزء معين من الصفحة لإجراء التغييرات.
تجنب التأخير الطويل التعسفي. قد يؤدي الانتظار لمدة خمس ثوانٍ في كل مكان إلى إخفاء المشكلة ولكنه يجعل البرامج النصية بطيئة وغير موثوقة. انتظر الشيء الذي تحتاجه بالفعل، وتوقف عن الانتظار بعد حد معقول.
رد فعل · الدرس 11
احفظ التفضيلات الصغيرة، وليس الأسرار
الوقت 7 دقائقهدف تذكر إعدادات البرنامج النصي غير الضارة
قد يحتاج البرنامج النصي إلى تذكر تفضيل غير ضار، مثل ما إذا كانت لوحة المساعدة مطوية أو وضع العرض الذي حددته. يمكن أن يساعد تخزين المتصفح، ولكن لا ينبغي تخزين معلومات الحساب الحساسة وكلمات المرور وأسرار المصادقة الثنائية ومواد الجلسة بشكل عرضي داخل البرامج النصية.
بيانات تفضيل جيدة
لوحة مفتوحة/مغلقة.
صفوف لكل صفحة.
خيار العرض.
تعامل على أنها حساسة
كلمات المرور.
أسرار 2FA.
مادة الجلسة/ملفات تعريف الارتباط.
رد فعل · الدرس 12
قراءة بيانات الصفحة أولا؛ طلب بيانات أخرى فقط عند الحاجة
الوقت 8 دقائقهدف اجعل الوصول إلى البيانات بسيطًا ومفهومًا
إذا كانت المعلومات موجودة بالفعل في الصفحة، فاقرأها من DOM. إذا كان البرنامج النصي الخاص بك يحتاج حقًا إلى مورد ويب آخر، فإن قواعد شبكة المتصفح العادية تظل مهمة. اجعل الطلبات مرئية في التعليمات البرمجية الخاصة بك وتجنب إرسال بيانات الصفحة/الحساب إلى مكان لم يتوقعه المستخدم.
قاعدة بسيطة: if the script sends data away from the page, a reviewer should be able to see exactly what is sent and why.
التكامل · الدرس 13
أصبح User Scripts أكثر فائدة مع البروفايلات الدائمة
الوقت 8 دقائقهدف فهم سلوك البرنامج النصي داخل سياقات المتصفح المنفصلة
يحتفظ Social Browser بروفايل بسياق المتصفح الخاص به. وهذا يعني أنه يمكنك إبقاء جلسات الحساب وحالة الصفحة منفصلة أثناء إعادة استخدام نفس فكرة البرمجة النصية عند الاقتضاء. اختبر البرنامج النصي في سياق بروفايل المحدد حيث سيتم تشغيله بالفعل.
البروفايل→الصفحة المطابقة→User Script→تحسين الصفحة الصغيرة
لا تفترض أن البرنامج النصي الذي يعمل في حالة موقع ويب واحد سيعمل تلقائيًا في كل حالة بروفايل. يمكن أن تعرض الجلسات المختلفة تخطيطات أو أذونات أو محتوى مختلفًا.
التكامل · الدرس 14
الإطارات والتوقيت: قم بتشغيل المستند المناسب في اللحظة المناسبة
الوقت 10 دقيقةهدف اختر النطاق وتوقيت التنفيذ عمدا
قد تحتوي الصفحة على المستند الرئيسي بالإضافة إلى إطار واحد أو أكثر. يمكن أن يحتاج البرنامج النصي أيضًا إلى التنفيذ التلقائي العادي أو مرحلة التحميل المسبق السابقة. تعمل هذه الخيارات على حل مشكلات مختلفة، لذا لا تقم بتغييرها جميعًا عند فقدان عنصر واحد.
النطاق
الصفحة الرئيسية أو الإطار؟
حدد المستند الذي يحتوي بالفعل على العنصر.
التوقيت
عادي أو التحميل المسبق؟
ابدأ مبكرًا فقط عندما يحتاج البرنامج النصي إلى التأثير على التهيئة.
ديناميكي
قدمت في وقت لاحق؟
إذا قامت الصفحة بإنشاء العنصر لاحقًا، فتعامل مع المحتوى الديناميكي بدلاً من تغيير النطاق بشكل أعمى.
التكامل · الدرس 15
قم بتصحيح أخطاء User Script دون التخمين
الوقت 10 دقيقةهدف اكتشف ما إذا كانت المشكلة تتعلق بالمطابقة أو التوقيت أو الكود أو موقع الويب
1
تأكد من تمكين البرنامج النصي
لا تقم بتصحيح التعليمات البرمجية المعطل حاليًا.
2
قم بتأكيد تطابقات URL
التحقق من القواعد المسموح بها والمستبعدة.
3
أضف رسائل وحدة تحكم واضحة
قم بالتسجيل عند بدء تشغيل البرنامج النصي وقبل العملية التي تختبرها.
4
التحقق من العنصر المستهدف
معرفة ما إذا كان موجودًا حتى الآن وما إذا كانت الصفحة قد أعادت عرضه.
5
تعطيل البرنامج النصي والمقارنة
إذا استمرت مشكلة الصفحة بعد تعطيلها، فقد لا يكون البرنامج النصي هو السبب.
المرحلة 4 كاملةيمكنك الآن إنشاء User Scripts العادي ونطاقه وتصحيحه داخل Social Browser.
متقدم · الدرس 16
اكتب نصوصًا يسهل الوثوق بها وصيانتها
الوقت 10 دقيقةهدف تقليل الوصول غير الضروري والسلوك المخفي
قم بمطابقة الصفحات التي يحتاجها البرنامج النصي فقط.
استخدم أسماء وتعليقات واضحة للسلوك غير الواضح.
اجعل وجهات الشبكة مرئية في الكود.
تجنب تخزين معلومات الحساب الحساسة.
أوقف المراقبين وأجهزة ضبط الوقت عندما لا تكون هناك حاجة إليهم.
لا تخفي آثارًا جانبية مهمة وراء وظائف مساعدة غامضة.
اختبر التغييرات في بروفايل الآمن قبل الجلسات المهمة.
احتفظ بطريقة سريعة لتعطيل البرنامج النصي.
متقدم · الدرس 17
وصفات User Script العملية
الوقت 15 دقيقةهدف ابدأ بأنماط صغيرة قابلة لإعادة الاستخدام
الوصفة 1 · إبراز القيم المهمةمبتدئ
تطابق صفحة واحدة محددة.
العثور على عناصر القيمة.
أضف فئة أو نمط CSS.
لا تفعل شيئًا إذا كانت العناصر مفقودة.
وصفة 2 · إضافة اختصار الصفحةمبتدئ
قم بإنشاء زر مساعد صغير.
أدخله بالقرب من المنطقة ذات الصلة.
استمع لنقرتها.
تنفيذ إجراء صفحة محلية واحد.
وصفة 3 · تنظيف لوحة القيادةمتوسط
إخفاء فقط الفوضى البصرية المحددة بوضوح.
احتفظ بعناصر التحكم في الصفحة الرئيسية دون تغيير.
احفظ تفضيل عرض واحد غير ضار إذا كان مفيدًا.
وصفة 4 · مساعدة النموذج المتكررمتوسط
كشف النموذج.
املأ فقط القيم المتكررة غير الحساسة التي يتوقعها المستخدم.
اترك قرار الإرسال النهائي مرئيًا للمستخدم ما لم يتطلب سير العمل أتمتة بشكل صريح.
وصفة 5 · انتظر المحتوى الديناميكيمتوسط
ابحث مرة واحدة عن العنصر.
في حالة فقدانها، لاحظ منطقة الوالدين الضيقة.
توقف عن المراقبة بعد ظهور العنصر أو بعد انتهاء المهلة.
متقدم · الدرس 18
User Script أو Automation Studio أو كليهما؟
الوقت 8 دقائقهدف اختر أبسط أداة لهذه المهمة
أريد أن…
ابدأ ب…
تغيير شكل أو سلوك إحدى الصفحات المتطابقة عندما أقوم بفتحها
User Script
أضف مساعدًا أو اختصارًا صغيرًا للصفحة
User Script
قم بتشغيل عملية متصفح مرتبة متعددة الخطوات
Automation Studio Workflow
قم بتشغيل نفس العملية عبر بروفايلات أو وفقًا لجدول زمني
Automation Studio
احتفظ بتخصيص مفيد للصفحة أثناء تشغيل Automation Workflow
User Script + Automation Studio
تحتاج إلى منطق صفحة مخصص داخل سير عمل أكبر
استخدم أبسط مجموعة مدعومة وحافظ على وضوح المسؤوليات
الهندسة المعمارية الجيدة مملة: حافظ على التخصيص المستمر للصفحة في User Script وتنسيق سير العمل في Automation Studio. لا تقم بتحويل برنامج نصي عملاق إلى نظام أتمتة كامل إذا كان الاستوديو يوفر بالفعل ميزة سير العمل.
مرجع GM API
GM APIs في Social Browser - من الاستخدام الأول إلى البرامج النصية المتقدمة
استخدم هذا عندما الصفحة العادية JavaScript ليست كافيةهدف استخدم إمكانيات البرنامج النصي على مستوى المتصفح بأمان
توفر GM API إمكانات User Script التي لا تمتلكها الصفحة العادية JavaScript دائمًا، مثل التخزين على نطاق البرنامج النصي والطلبات عبر الأصل والإشعارات والتنزيلات والوصول إلى الحافظة والموارد وأوامر قائمة البرامج النصية. في Social Browser، صريحة @grant يتلقى البرنامج النصي فقط الإمكانات التي يطلبها.
تصفح حسب الفئة أو ابحث حسب اسم API.
ابدأ صغيرًا: لا تضيف كل @grant سطر "فقط في حالة". اسأل فقط عن APIs التي يستخدمها البرنامج النصي بالفعل. وهذا يجعل النص أسهل في الفهم والمراجعة والثقة.
بالنسبة للنصوص البرمجية الجديدة، أعلن عن كل امتيازات API التي تستخدمها. يقوم Social Browser بتشغيل البرامج النصية ذات المنح الصريحة في عالم User Script المعزول ويربط فقط الإمكانات المطلوبة. السيناريو مع @grant none يعمل بدون قدرات جنرال موتورز.
يدعم Social Browser الأسماء الكلاسيكية المألوفة والحديثة GM.* forms for the main GM capability set. The modern form is Promise-friendly, so use await. اختر نمطًا واحدًا لكل نص وحافظ على الاتساق.
استخدم معلومات البرنامج النصي عندما تحتاج إلى فحص البرنامج النصي الحالي أو الإصدار أو المنح أو التطابقات أو معلومات وقت تشغيل Social Browser. لا تقم بسلوك التعليمات البرمجية بشكل صارم حول سلاسل الإصدار إلا إذا كنت بحاجة حقًا إلى منطق التوافق.
تم تحديد نطاق تخزين GM إلى User Script بدلاً من كونه تخزينًا عاديًا للصفحات. إنه مثالي للتفضيلات غير الضارة والعدادات وحالة البرنامج النصي. لا تستخدمه كخزنة غير رسمية لكلمات المرور أو أسرار المصادقة الثنائية (2FA) أو ملفات تعريف الارتباط أو مواد الجلسة.
API
ماذا يفعل
نتيجة نموذجية
GM_getValue(key, defaultValue)
قراءة قيمة واحدة محفوظة.
القيمة المحفوظة أو الافتراضية الخاصة بك.
GM_setValue(key, value)
حفظ قيمة واحدة.
تحديثات التخزين على نطاق البرنامج النصي.
GM_deleteValue(key)
إزالة قيمة واحدة.
يختفي المفتاح.
GM_listValues()
قائمة المفاتيح المحفوظة.
مجموعة من الأسماء الرئيسية.
GM_getValues(...)
قراءة عدة قيم معًا.
كائن من القيم.
GM_setValues(object)
حفظ عدة قيم معًا.
يقوم بتحديث كل مفتاح متوفر.
GM_deleteValues(keys)
حذف عدة مفاتيح.
إزالة القيم المدرجة.
JavaScript · حفظ تفضيلات المستخدم
// @grant GM_getValue// @grant GM_setValue// @grant GM_deleteValueconst settings = GM_getValue('settings', { compact: true, rowsPerPage: 25});settings.rowsPerPage = 50;GM_setValue('settings', settings);// Reset later if the user asks for defaults.// GM_deleteValue('settings');
شاهد تغير القيمة
GM_addValueChangeListener يكون مفيدًا عندما يكون نفس البرنامج النصي مفتوحًا في أكثر من إطار أو علامة تبويب. يتلقى رد الاتصال (name, oldValue, newValue, remote). في Social Browser، يمكن مزامنة أحداث تغيير القيمة عبر الإطارات/علامات التبويب في نفس بروفايل/الجلسة.
JavaScript · مستمع التخزين
// @grant GM_addValueChangeListener// @grant GM_removeValueChangeListenerconst listenerId = GM_addValueChangeListener( 'displayMode', (name, oldValue, newValue, remote) => { console.log({ name, oldValue, newValue, remote }); });// Remove it when you no longer need it.// GM_removeValueChangeListener(listenerId);
مساعدين الصفحة
إضافة أنماط أو عناصر صغيرة
GM_addStyle(css) / GM.addStyle(css)
استخدم هذا عندما يكون تخصيص الصفحة مرئيًا في الغالب. إنه أنظف من وضع العديد من الأفراد element.style خصائص.
صفحة عادية fetch() يتم التحكم فيه من خلال قواعد المتصفح/CORS العادية للصفحة. طلب GM الخاص بـ Social Browser يستخدم API قناة طلب مخصصة لعملية المتصفح. قبل إرسال الطلب، يتم التحقق من وجهته مقارنة بالبرنامج النصي @connect القواعد.
الوصول إلى الشبكة يستحق المراجعة. اجعل الوجهات ضيقة ومرئية. لا ترسل أبدًا بيانات الحساب/الصفحة إلى خدمة لا يتوقعها المستخدم.
يدعم الطلب API عمليات الاسترجاعات للطلبات الشائعة ويقوم بإرجاع مؤشر يمكن إحباطه. استخدم المهلة حتى عندما تدعم الإجهاض أيضًا.
JavaScript · رد الاتصال + إحباط
// @connect api.example.com// @grant GM_xmlhttpRequestconst request = GM_xmlhttpRequest({ url: 'https://api.example.com/slow-report', timeout: 15000, onload(response) { console.log('Loaded:', response.status); }, onerror(error) { console.error('Request failed:', error); }, ontimeout() { console.warn('Request timed out'); }, onabort() { console.log('Request aborted'); }});// Cancel only if your script no longer needs the result.// request.abort();
الشكل الحديث:GM.xmlHttpRequest(...) and GM.xmlhttpRequest(...) خريطة لنفس القدرة على الطلب.
المصادر
حزمة نصية قابلة لإعادة الاستخدام، CSS أو أصول أخرى
أعلن عن الأصول مع @resource، ثم قراءته بالاسم. GM_getResourceText returns decoded text. GM_getResourceURL returns a data URL that preserves the response MIME type.
حالة البرنامج النصي لكل علامة تبويب: GM_getTab, GM_saveTab, GM_getTabs
تقوم API بتخزين حالة User Script الصغيرة المرتبطة بعلامات التبويب. تكون مفيدة عندما يحتاج البرنامج النصي إلى تذكر الخطوة أو العرض الذي ينتمي إلى علامة تبويب معينة دون مزجها مع تفضيلات البرنامج النصي العامة.
unsafeWindow: الجسر إلى الصفحة العالمية فقط عند الضرورة
تعمل User Scripts ذات المنح الصريحة عادةً في عالم معزول. unsafeWindow عبارة عن جسر اختياري للوصول إلى العالميين في العالم الرئيسي للصفحة. استخدمه فقط عندما يكشف موقع الويب عن متغير صفحة أو وظيفة لا يمكن الوصول إليها بواسطة البرنامج النصي المعزول العادي.
استخدم بشكل ضيق: تنتمي الصفحات العالمية إلى موقع الويب وقد تتغير دون إشعار. تفضل APIs DOM العادية عندما تحل المشكلة.
يعمل في العالم الرئيسي للإطار المستهدف بالضبط بدون حقن قدرة GM.
واحدة أو أكثر صريحة @grants
يعمل في عالم User Script الحتمي المعزول؛ يتم سد القدرات المطلوبة فقط.
No @grant البيانات الوصفية
يتم الاحتفاظ بوضع التوافق Legacy MAIN-world للنصوص البرمجية Social Browser الموجودة.
مثال كامل
برنامج نصي صغير يجمع بين التخزين والأنماط وأوامر القائمة والحافظة
يبقى هذا المثال صغيرًا عن قصد. فهو يتذكر ما إذا كان التمييز ممكنًا، ويضيف قاعدة نمط واحدة، ويتيح للمستخدم تبديلها من قائمة User Script، وينسخ قيمة الصفحة المرئية فقط عندما يُطلب منه ذلك.
يركز هذا الدليل على الإمكانات التي تشكل جزءًا من الصريح الحالي لـ Social Browser @grant الجسر: التخزين، مستمعي تغيير القيمة، الأنماط/العناصر، الطلبات المميزة، الموارد، علامات التبويب، الإشعارات، الحافظة، التنزيلات، أوامر القائمة، GM_info and unsafeWindow.
قد تكون بعض الأسماء القديمة/الداخلية موجودة للتوافق مع الإصدارات السابقة، ولكن لم يتم تقديمها هنا عمدًا على أنها API العامة الموصى بها حتى تصبح جزءًا من عقد القدرة الصريح. يؤدي ذلك إلى إبقاء البرامج النصية الجديدة على المسار الثابت بدلاً من تدريس تفاصيل التنفيذ العرضية.
افتح المرجع السريع User Scriptsافتح عند الحاجة
قدرات البرنامج النصي في Social Browser
الإمكانية
الغرض
الاسم / العنوان
تحديد البرنامج النصي بوضوح.
مسموح به URLs
اختر المكان الذي يمكن تشغيله فيه.
مستبعد URLs
منع صفحات معينة من التنفيذ.
JavaScript
أضف المنطق وسلوك الصفحة.
CSS
تغيير مظهر الصفحة.
HTML
إضافة عناصر واجهة صفحة صغيرة.
رؤية القائمة
التحكم في ظهوره كإجراء برنامج نصي يتم تشغيله بواسطة المستخدم.
نطاق النافذة / الإطار
اختر سياق المستند الذي يستقبل البرنامج النصي.
التنفيذ التلقائي
التشغيل على الصفحات المطابقة تلقائيًا.
تنفيذ مرحلة التحميل المسبق
ابدأ مبكرًا عندما يتطلب البرنامج النصي ذلك.
الاستيراد من الملف / URL
إحضار البرامج النصية الموجودة إلى المدير.
البيانات الوصفية الشائعة لـ User Script
استخدم اصطلاحات البيانات الوصفية المألوفة حيثما تكون مدعومة.
مسرد
User Script
JavaScript، بشكل اختياري مع CSS/HTML، الذي يتم تشغيله في صفحات المتصفح المحددة.
قاعدة المباراة
قاعدة تحدد URLs التي تتلقى البرنامج النصي.
DOM
تمثيل كائن المتصفح للصفحة التي يمكن لـ JavaScript قراءتها وتغييرها.
حدث
إشارة الصفحة مثل النقر أو تغيير الإدخال.
الإطار
مستند مضمن داخل صفحة أخرى.
التحميل المسبق
مرحلة تنفيذ سابقة تستخدم عندما يكون توقيت الصفحة العادي متأخرًا جدًا بالنسبة لحاجة معينة.
البروفايل
بيئة Social Browser معزولة ومستمرة مع حالة المتصفح الخاصة بها.
قائمة التحقق للمبتدئين
يمكنني أن أشرح ما هو User Script.
لقد قمت بإنشاء وتعطيل برنامج نصي للاختبار.
يمكنني قصر البرنامج النصي على URLs الصحيح.
يمكنني العثور على عنصر صفحة بسيط وتغييره.
أعرف متى يكون CSS كافيًا.
أقوم بمراجعة الكود المستورد قبل تمكينه.
يمكنني استخدام وحدة التحكم لتصحيح البرنامج النصي.
قائمة المراجعة المتقدمة
أبقي قواعد المباراة ضيقة.
أنا أفهم الصفحات الديناميكية والمراقبين المحدودين.
أتعامل مع التخزين والوصول إلى الشبكة عمدا.
اخترت نطاق الإطار والتوقيت لسبب ما.
أقوم باختبار البرامج النصية في سياق بروفايل المقصود.
أعرف متى تكون Automation Studio أداة أفضل.
افتح أسئلة User Script الشائعةافتح عند الحاجة
هل أحتاج إلى أن أكون مطور JavaScript؟
لا، فالنصوص البرمجية الصغيرة المفيدة غالبًا ما تحتاج فقط إلى تحديد DOM الأساسي والأحداث والشروط البسيطة. تعرف على المزيد JavaScript عندما تتطلب حالة الاستخدام الحقيقية ذلك.
هل يمكن أن يتضمن User Script CSS وHTML؟
نعم. يمكن أن يشتمل نظام User Script الخاص بـ Social Browser على تخصيصات JavaScript، وتخصيصات CSS وHTML، وفقًا للبرنامج النصي.
هل يمكنني استيراد User Scripts الموجود؟
يمكن إنشاء البرامج النصية يدويًا أو استيرادها من ملف أو من URL مباشرة، ويتم دعم اصطلاحات التثبيت/بيانات التعريف الشائعة User Script حيثما أمكن ذلك. قم بمراجعة الكود المستورد قبل تمكينه.
هل User Scripts هو نفسه Automation Studio؟
لا، User Scripts هي الأفضل للتعليمات البرمجية التي تعيش مع الصفحات المتطابقة. تم تصميم Automation Studio لسير العمل المطلوب واستهداف بروفايل وسياسة التنفيذ والجدولة والتحقق والاسترداد. يمكنهم أن يكملوا بعضهم البعض.
هل يمكن تشغيل البرامج النصية في بروفايلات مختلفة؟
تعمل User Scripts في سياقات صفحة المتصفح. قم باختبارها وإدارتها في Social Browser بروفايل المقصود لأن الملفات الشخصية يمكن أن تحتوي على جلسات ومحتوى وحالة متصفح مختلفة.
ما هي الطريقة الأكثر أمانًا لتثبيت البرنامج النصي من الإنترنت؟
تعرف على المصدر، واقرأ البيانات التعريفية، وافحص الكود، وتحقق من نطاق URL وسلوك الشبكة/التخزين، ثم اختبره في بروفايل الخاضع للتحكم قبل الاستخدام المهم.
جاهز للتجربة؟
اجعل صفحة واحدة أفضل باستخدام برنامج نصي صغير.
قم بتنزيل Social Browser، وأنشئ اختبارًا واحدًا بروفايل، وأضف User Script صغيرًا، واجعل الأمر بسيطًا بدرجة كافية بحيث يمكنك شرح كل سطر.