Greasemonkey: أعد النظر في GM.registerMenuCommand (يعتمد polyfill على واجهة برمجة التطبيقات التي ستختفي)

تم إنشاؤها على ٢٩ أبريل ٢٠٢٠  ·  7تعليقات  ·  مصدر: greasemonkey/greasemonkey

نظرًا لعدم وجود محرك متصفح آخر قد أزعج نفسه عناء دعمه ، فقد كان لدى Firefox ، لفترة من الوقت ، خطأ مفتوح لإزالة إمكانية تعديل قائمة السياق التي يعتمد عليها جزء registerMenuCommand من polyfill.

يبدو أن هناك شخصًا مهتمًا الآن بالحصول عليه "ثابتًا" (أي إزالة الدعم) لذلك من المحتمل أن يكون فكرة جيدة لإعادة النظر في عدم تقديم GM4 دعمه الخاص لهذا.

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

ال 7 كومينتر

+1
تعجبني قوائم سياق HTML 5 كثيرًا ، ولكن إذا / عندما تختفي ، أتمنى أيضًا عودة GM.registerMenuCommand. لا أستطيع أن أرى نفسي أحتفظ بحل آخر محلي الصنع لمخطوطات المستخدمين متعددة المواقع.

هل هناك أي اقتراحات لواجهة مستخدم / واجهة برمجة تطبيقات ستظل موجودة وتريد استخدامها؟

أعتقد أننا سنضطر لتسجيل الأشياء في قائمة القرود؟

هذه هي الطريقة التي يقوم بها كل من TamperMonkey و ViolentMonkey.

أفترض أن الخيار الآخر هو استكشاف جدوى تقريب ما يفعله polyfill باستخدام browser.menus.create لدفع جميع عناصر القائمة المسجلة لدى المستخدمين في قائمة فرعية من قائمة السياق ... على الرغم من أن ذلك سيكون فرعيًا الأمثل دون طريقة ما لتوسيع نطاقها إلى السياقات لأن الناس يتوقعون عمومًا أن تكون قائمة السياق سياقية.

(وبشكل مثالي ، سيكون من الجيد أن يكون لديك طريقة لوضع إدخالات "تكوين نص المستخدم هذا" في قائمة القرد بدلاً من قائمة السياق ، على غرار طريقة عمل مدير الإضافات في Firefox.)

هذا الأخير هو حقا "استكشاف الجدوى" بالرغم من ذلك. لقد مر وقت طويل منذ أن قمت بالضغط على WebExtensions API لدرجة أنني لا أتذكر حدودها في هذا الصدد. (أكتب نصوص المستخدمين لأنها أكثر قابلية للنقل واحتجاجًا على توقيع التمديد الإلزامي.)

تضمين التغريدة

أعتقد أننا سنضطر لتسجيل الأشياء في قائمة القرود؟

حتى إذا لم يتم حذف قائمة السياق من المواصفات ، فإن استخدامها بدلاً من GM_registerMenuCommand له العيوب التالية:

  • يتم إدراجه دائمًا في قائمة سياق المتصفح ، مما يعيق التصفح
  • نظرًا لأنه يتم إدراجه في سياق غير آمن (DOM من جانب صفحة الويب) ، فقد يتسبب في حدوث مشكلات تتعلق بالخصوصية والأمان
  • غير متاح إذا تم حظر قائمة السياق من جانب صفحة الويب.

حصل Firefox trunk للتو على تصحيح لتعطيل الوصول إلى <menuitem> مع إصدار مستهدف من Firefox 85.

https://bugzilla.mozilla.org/show_bug.cgi؟id=1680596#c11

(على وجه التحديد ، فإنه يضعه خلف تفضيل dom.menuitem.enabled والذي يتم تعيينه افتراضيًا على false.)

arantius أصبح تنفيذ GM.registerMenuCommand () قضية ملحة.

تم تنفيذ واجهة برمجة التطبيقات هذه في كل من Violemntmonkey و Tampermonkey ، وكذلك في Greasemonkey 3.x. لا يمكن استبداله بأي طريقة أخرى ، كما ذكر أعلاه ، وهو مهم للتوافق.

لقد تناولت جميع المخاوف السابقة بشأن التنفيذ في تحديث https://github.com/greasemonkey/greasemonkey/pull/2770 . لماذا لا يمكن دمج ذلك؟

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات