Greasemonkey: أعد النظر في تنفيذ GM_registerMenuCommand في GM 4.x

تم إنشاؤها على ٢٠ نوفمبر ٢٠١٧  ·  5تعليقات  ·  مصدر: greasemonkey/greasemonkey

كما رأيت (انظر التعليق) تم استبدال GM_registerMenuCommand بقائمة سياق HTML5. وليس هناك خطة لإضافته في GM 4.x.

ومع ذلك ، فقد بدأت هذه المشكلة المنفصلة. على أمل أن تعيد النظر.


أتفهم أن إضافة بعض خيارات قائمة السياق في قائمة السياقات الأصلية ،
مفيد لأولئك الذين يريدون إضافة المزيد من الإدخالات في ذلك.
مثل هذا البرنامج النصي الجديد للاختبار بواسطة arantius search-with-google .
لقطات:
2017-11-20_1719082017-11-20_172014


ولكن بالنسبة لنصوص المستخدمين التي تستخدم GM_registerMenuCommand للإعدادات فقط ، أي أنك تقوم بتكوينها مرة واحدة فقط كل فترة.
وتنطبق على جميع الصفحات ،
مثل الشعبية:
عارض صورة الماوس فوق المنبثقة ، ( لقطة شاشة الإعدادات )
عنوان رابط YouTube ( لقطة شاشة الإعدادات ) و
Linkify Plus Plus ( لقطة شاشة الإعدادات )

تخيل أنك قمت بتثبيت هذه البرامج النصية التي تنشئ ما مجموعه 3 إدخالات أعلى قائمة السياق
التي لا تحتاجها في معظم الأوقات:
سيجعل استخدام قائمة السياق في الصفحة مزدحمة وغير عملي.

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


لذا ، أود أن أطلب منك من فضلك إعادة النظر في تنفيذ GM_registerMenuCommand داخل النافذة المنبثقة لزر شريط الأدوات ، على غرار ما كان عليه في GM 3.x ، وكذلك في مديري البرامج النصية الأكثر استخدامًا ، Tampermonkey و القرد العنيف.
و
سيظهر بين / أسفل إدخال "Greasemonkey نشط / معطل" ،
وأعلى قائمة "البرامج النصية للمستخدم لعلامة التبويب هذه" (GM 4.1 beta4).

التعليق الأكثر فائدة

ال 5 كومينتر

كمرجع ، أقتبس المناقشة ذات الصلة من https://github.com/greasemonkey/greasemonkey/issues/2559 :


(ثمانية 04)

_arantius لقد رأيت أنه تم استبدال GM_registerMenuCommand بقائمة سياق HTML5. هل هناك أي خطة لإضافته في GM 4.x؟ لا يمكنني العثور على مشكلة التتبع.

(أرانتيوس)

_لا. كانت سياسة Greasemonkey (لفترة طويلة) لا تنفذ ميزات "مساحة المستخدم". يمكن لأي برنامج نصي القيام بذلك ، أو @require شيء مثل هذا polyfill الذي يفعل ذلك. لا يحتاج Greasemonkey إلى إنشاء هذه الميزة أو دعمها لتمكين البرامج النصية من استخدامها. النقطة هنا هي فقط القيام بما يفعله polyfill: تسهيل تحديث البرامج النصية لتكون متوافقة مع كل من الإصدارات القديمة والجديدة من Greasemonkey.

(ثمانية 04)

_أنا قصدت ما إذا كان GM4 سيوفر أيضًا واجهة برمجة تطبيقات لتنفيذ أوامر البرنامج النصي من واجهة المستخدم لمدير نصوص المستخدمين مثل GM_registerMenuCommand القديم ، وليس السؤال عما إذا كان سيكون هناك واجهة برمجة تطبيقات لقائمة سياق HTML5 في GM. غالبًا ما يتم استخدام GM_registerMenuCommand لبدء تشغيل مربع حوار تكوين البرنامج النصي ، والذي لا يجب تعبئته كقائمة سياق HTML5 IMHO._

_BTW ، لقد قمت بإنشاء مكتبة للعمل مع قائمة سياق HTML قبل بضعة أشهر فقط ، والتي من شأنها إعادة استخدام خاصية contextmenu على الصفحة إذا تم تعيينها بالفعل: _
_ https://github.com/eight04/GM_context_

(أرانتيوس)

_GM_registerMenuCommand غالبًا ما يُستخدم لبدء تشغيل مربع حوار تكوين البرنامج النصي ، والذي لا يجب تعبئته كقائمة سياق HTML5 IMHO_

_لما لا؟_

(ثمانية 04)

_لما لا؟_

_1. يجب أن يكون الأمر في قائمة السياق: _

_- إجراء يعمل على سياق محدد (عنصر). على سبيل المثال ، عند تحديد بعض النصوص ، يظهر أمر "نسخ" ، وهو إجراء للعمل مع التحديد.
_- اختصار لتنفيذ الأمر المحدد للراحة.
_ لا يقع أمر "إعداد usercript الخاص بي" ضمن الفئتين. لا يعتمد على السياق ، كما لا توجد حاجة لاستخدام اختصار للتكوين.

_2 ، لا يمكن الاعتماد عليها. قد يتم حظره / استبداله بنصوص الصفحة.

(trlkly)

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

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

هذا يسبب لي صداعًا في محاولة التفكير في كيفية تفاعل البرامج النصية. بافتراض وجود خيار قائمة وخيار القائمة المذكور فتح نوعًا من النافذة / الصندوق / الحوار / أيًا كان لتغيير الإعدادات ، فهل هذه النافذة التي تم إنشاؤها حديثًا تعتبر في سياق "النص البرمجي للمحتوى" وبالتالي فهي قادرة على إرسال رسائل إلى الامتداد؟ وإذا لم يكن الأمر كذلك ، فكيف يمكن للمرء إرسال رسالة مرة أخرى إلى النص البرمجي للمحتوى ، بحيث يمكن تغيير هذه الإعدادات؟


رغم ذلك ، يبدو أن الموضوع المشترك هو قوائم الإعدادات. سأفضل وجود حقول تكوين محددة بشكل ثابت في نظام التعريف والتي يتم إنشاؤها بعد ذلك ويمكن حفظها / تعديلها من خلال قائمة Monkey. يشبه resource ولكن تم تغييره بالانتقال إلى Monkey Menu -> Script -> Config -> Items .

_أفضل وجود حقول تكوين محددة بشكل ثابت في نظام التعريف والتي يتم إنشاؤها بعد ذلك ويمكن حفظها / تعديلها من خلال قائمة Monkey. مشابه لمورد ولكن يتم تغييره من خلال الانتقال إلى قائمة القرد -> البرنامج النصي -> التكوين -> العناصر.

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

  • استيراد / تصدير الإعدادات (إلى الحافظة) ،
  • تثبيت القواعد من مستودع MPIV داخل الإعدادات مباشرةً ،
  • توجد قواعد العثور أثناء الكتابة عندما يكون هناك الكثير من قواعد المضيف المخصصة المثبتة ،
  • يتحقق مما إذا كانت قاعدة المضيف المخصصة التي تم إدخالها هي JSON صالحة ، ويميز صف الإدخال باللون الأحمر إذا لم يكن كذلك ،

بالإضافة إلى ذلك ، يجب على مؤلفها إعادة كتابة رمز الإعداد بالكامل.

settings screenshot

legnaleurc يا إلهي ، قد تكون هذه مشكلة لبعض الناس. بصفتي شخصًا عاديًا ، ليس لدي أي فكرة ، ولكن هل تعرف طريقة بديلة لإضافة عناصر قائمة السياق ، لاستبدال الطريقة التي تستخدم

؟ هل هناك طريقة بسيطة لست على دراية بها يمكن استخدامها من نص مستخدم؟
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات