Greasemonkey: Pertimbangkan kembali untuk mengimplementasikan GM_registerMenuCommand di GM 4.x

Dibuat pada 20 Nov 2017  ·  5Komentar  ·  Sumber: greasemonkey/greasemonkey

Seperti yang saya lihat (lihat komentar) GM_registerMenuCommand diganti dengan menu konteks HTML5. dan tidak ada rencana untuk menambahkannya di GM 4.x.

Namun demikian, saya telah memulai masalah terpisah ini. dengan harapan bahwa Anda akan mempertimbangkan kembali.


Saya mengerti bahwa menambahkan beberapa opsi menu konteks di menu konteks asli,
berguna bagi mereka yang ingin menambahkan lebih banyak entri di dalamnya.
Seperti skrip pengujian baru ini oleh arantius search-with-google .
tangkapan layar:
2017-11-20_1719082017-11-20_172014


Tapi, untuk userscripts yang menggunakan GM_registerMenuCommand hanya untuk setting, yaitu Anda hanya mengkonfigurasi kemudian hanya sesekali.
dan berlaku untuk semua halaman,
seperti yang populer:
Penampil Gambar Popup Mouseover , ( tangkapan layar pengaturan )
Judul Tautan YouTube ( tangkapan layar pengaturan ) dan
Linkify Plus Plus ( tangkapan layar pengaturan )

Bayangkan telah menginstal skrip ini yang membuat total 3 entri di atas menu konteks
yang tidak sering dibutuhkan:
itu akan menggunakan menu konteks pada halaman yang berantakan dan tidak praktis.

Dan kemudian penulis skrip, untuk menghindari kekacauan menu konteks hanya demi pengaturan penawaran,
dia akan mendaftarkan pintasan keyboard di setiap halaman (tanpa UI?)
atau buat elemen tombol khusus baru di setiap halaman.


Jadi, saya ingin meminta Anda untuk mempertimbangkan kembali penerapan GM_registerMenuCommand di dalam popup tombol bilah alat, mirip dengan yang ada di GM 3.x, serta di pengelola skrip lain yang paling sering digunakan, Tampermonkey dan Monyet kekerasan.
,
Itu akan muncul di antara/di bawah entri "Greasemonkey aktif/dinonaktifkan",
dan di atas daftar 'Skrip pengguna untuk tab ini' (GM 4.1 beta4).

Komentar yang paling membantu

Semua 5 komentar

Untuk referensi, saya mengutip diskusi yang relevan dari https://github.com/greasemonkey/greasemonkey/issues/2559 :


(delapan04)

_arantius Saya melihat bahwa GM_registerMenuCommand diganti dengan menu konteks HTML5. Apakah ada rencana untuk menambahkannya di GM 4.x? Saya tidak dapat menemukan masalah pelacakan._

(arantius)

_Tidak. Kebijakan Greasemonkey telah (untuk waktu yang lama) tidak menerapkan fitur "ruang pengguna". Skrip apa pun dapat melakukan ini, atau @require sesuatu seperti polyfill ini yang melakukannya. Greasemonkey tidak perlu membangun atau mendukung fitur ini untuk mengaktifkan skrip untuk menggunakannya. Intinya di sini hanya untuk melakukan apa yang dilakukan polyfill: membuatnya lebih mudah untuk memperbarui skrip agar kompatibel dengan versi lama dan baru dari Greasemonkey._

(delapan04)

_Maksud saya jika GM4 juga akan menyediakan API untuk menjalankan perintah skrip dari UI pengelola skrip pengguna seperti GM_registerMenuCommand lama, tidak menanyakan apakah akan ada API konteksmenu HTML5 di GM. GM_registerMenuCommand sering digunakan untuk meluncurkan dialog konfigurasi skrip, yang tidak boleh di-polyfill sebagai menu konteks HTML5 IMHO._

_BTW, saya telah membuat perpustakaan untuk bekerja dengan menu konteks HTML beberapa bulan yang lalu, yang akan menggunakan kembali properti contextmenu pada halaman jika sudah disetel:_
_ https://github.com/eight04/GM_context_

(arantius)

_GM_registerMenuCommand sering digunakan untuk meluncurkan dialog konfigurasi skrip, yang tidak boleh di-polyfill sebagai menu konteks HTML5 IMHO_

_Mengapa tidak?_

(delapan04)

_Mengapa tidak?_

_1. Perintah pada menu konteks harus:_

_- Tindakan yang bekerja pada konteks (elemen) tertentu. Misalnya, ketika beberapa teks dipilih, perintah "Salin", yang merupakan tindakan untuk bekerja dengan pilihan, ditampilkan._
_- Sebuah jalan pintas untuk menjalankan perintah tertentu untuk kenyamanan._
_A "Pengaturan skrip pengguna saya" tidak termasuk dalam kedua kategori. Itu tidak tergantung pada konteksnya, juga tidak perlu menggunakan pintasan untuk konfigurasi._

_2, Itu tidak dapat diandalkan. Mungkin diblokir/diganti oleh skrip halaman._

(trlly)

_Saya setuju dengan tingkat kesulitan konseptual. Saya tidak memiliki ekstensi lagi yang menggunakan menu konteks untuk pengaturan. Itu akan menjadi sangat sibuk dengan cepat jika mereka melakukannya, karena saya menjalankan banyak ekstensi._

_Tetapi alasan utama yang saya lihat adalah bahwa Chrome telah menghapus menu konteks HTML5 dari spec , yang berarti mungkin juga akan dihapus dari Firefox. Saya bahkan tidak tahu itu ada, mengingat saya belum melihat situs mana pun yang menggunakannya. Aplikasi hanya berputar sendiri, memblokir menu konteks nyata (yang merupakan gangguan besar dan besar dalam banyak kasus. Itu menghilangkan fungsionalitas.)_

Ini membuat saya pusing mencoba memikirkan bagaimana skrip akan berinteraksi. Dengan asumsi ada opsi menu dan opsi menu tersebut membuka semacam jendela / kotak / dialog / apa pun untuk mengubah pengaturan, apakah jendela yang baru dibuat dianggap dalam konteks 'skrip konten' dan karenanya dapat mengirim pesan ke ekstensi? Dan jika tidak, bagaimana cara mengirim pesan kembali ke skrip konten, sehingga pengaturan dapat diubah?


Padahal, sepertinya tema yang umum adalah menu pengaturan. Saya lebih suka memiliki bidang konfigurasi yang ditentukan secara statis di metablock yang kemudian dibuat dan dapat disimpan/dimodifikasi melalui menu Monkey. Mirip dengan resource tetapi diubah dengan masuk Monkey Menu -> Script -> Config -> Items .

_Saya akan mendukung memiliki bidang konfigurasi yang ditentukan secara statis di metablock yang kemudian dihasilkan dan dapat disimpan/dimodifikasi melalui menu Monkey. Mirip dengan sumber daya tetapi diubah dengan membuka Monkey Menu -> Script -> Config -> Items._

Saya khawatir menggunakan bidang konfigurasi statis di metablock akan membuatnya terlalu membatasi:
misalnya, untuk skrip pertama yang disebutkan Mouseover Popup Image Viewer ,
terlepas dari tata letak praktis saat ini (menu tarik-turun, kotak centang, kotak teks dengan bilah gulir, area teks),
menu pengaturan saat ini menawarkan:

  • impor/ekspor pengaturan (ke clipboard),
  • instal aturan dari repositori MPIV tepat di dalam pengaturan,
  • ada aturan temukan saat Anda mengetik ketika ada banyak aturan Host khusus yang diinstal,
  • itu memvalidasi apakah aturan Host kustom yang dimasukkan adalah JSON yang valid, dan menyoroti baris input merah jika tidak,

Plus, pembuatnya harus menulis ulang seluruh 'kode penyiapan.

settings screenshot

@legnaleurc Astaga, itu bisa menjadi masalah bagi sebagian orang. Sebagai orang awam total, saya tidak tahu, tetapi apakah Anda mengetahui cara alternatif untuk menambahkan item menu konteks, untuk menggantikan metode yang menggunakan

? Apakah ada beberapa metode sederhana yang saya tidak tahu yang dapat digunakan dari skrip pengguna?
Apakah halaman ini membantu?
0 / 5 - 0 peringkat