Greasemonkey: Biarkan server mengirimkan skrip yang tidak akan pernah diperbarui (otomatis)

Dibuat pada 8 Feb 2018  ·  18Komentar  ·  Sumber: greasemonkey/greasemonkey

(Juga diposting di https://github.com/Tampermonkey/tampermonkey/issues/499)

Skrip pada Greasy Fork tidak memiliki @updateURL atau @downloadURL , jadi saat memeriksa pembaruan, URL asal instal digunakan saat memeriksa pembaruan. Ini bagus.

Greasy Fork juga memungkinkan pengguna untuk menginstal versi skrip sebelumnya. URL pemasangan menyertakan parameter yang menunjukkan dalam versi. Dalam hal ini, pembaruan masih "berfungsi", tetapi tidak akan pernah ada perubahan. Untuk menghemat beberapa sumber daya di sisi klien dan server, saya ingin menunjukkan kepada Greasemonkey untuk tidak memeriksa pembaruan. Apakah ada sesuatu yang bisa saya masukkan ke dalam skrip untuk melakukan ini?

Komentar yang paling membantu

Biarkan skrip menentukan seberapa sering harus diperbarui secara otomatis. Ketika saya dalam pengembangan aktif, saya dapat membuatnya tetap rendah, ketika saya menjadi stabil, saya dapat menyetelnya (tetapi mundur jika/ketika saya mulai memperbarui lagi). Dan host skrip dapat (jika mereka tetap akan melakukan munging skrip) menimpa nilai yang mereka inginkan (berdasarkan hal-hal seperti berapa banyak pengguna yang telah menginstalnya, sumber daya server, dll.).

Kedengarannya masuk akal.

Saya ingin nama yang lebih deskriptif tetapi belum memiliki kandidat khusus yang saya suka.

Mungkin @updateInterval ?

Semua 18 komentar

<strong i="5">@updateURL</strong> about:blank + <strong i="7">@downloadURL</strong> about:blank harus melakukannya (setidaknya dimungkinkan untuk menonaktifkan pembaruan otomatis menggunakan ini di GM 3.x).

updateURL dan downloadURL tidak didukung untuk 4.x.

Di 3.x kami hanya menggunakan kontrol AOM standar untuk ini.

Di 4.x kami belum memiliki pembaruan otomatis sama sekali, jadi kami hanya perlu menyertakan ini sebagai fitur dasar, setelah kami melakukannya.

Apakah menempatkan <strong i="5">@downloadURL</strong> none sesuai dengan apa yang direncanakan untuk 4.x?

Oh, saya baru menyadari bahwa Anda mengatakan bahwa Anda ingin server yang mengirimkan skrip memberi tahu GM bahwa skrip tersebut tidak boleh diperbarui. (Ups, tidak sampai ke akhir deskripsi ...)

Tidak ada rencana untuk membaca/menggunakan nilai properti @...URL di GM 4. Saya tidak bisa menjanjikan apa pun sampai kode pembaruan akhirnya ditulis, tetapi semacam tajuk HTTP terasa lebih baik daripada mencoba mengubah sumber dari naskah.

OTOH jika TM mendukung nilai none, selalu ada kompatibilitas untuk dipertimbangkan.

OP mengatakan:

URL pemasangan menyertakan parameter yang menunjukkan dalam versi.

Dari sini, saya berasumsi bahwa parameter kueri secara efektif merupakan tautan permanen ke skrip pengguna tertentu. Kemungkinan besar juga bahwa setiap fungsi pembaruan otomatis / periksa pembaruan akan menggunakan downloadUrl yang disimpan secara internal (yang hanya merupakan URL pemasangan awal). Dengan perubahan yang sangat minimal, saya yakin kita dapat mendukung bentuk permalinking ini dengan menambahkan pencocokan parameter kueri saat mendeteksi skrip pengguna. Dilakukan dengan menambahkan *://*/*.user.js?* ke pendengar user-script-detect.run.js .

Oh, saya baru menyadari bahwa Anda mengatakan bahwa Anda ingin server yang mengirimkan skrip memberi tahu GM bahwa skrip tersebut tidak boleh diperbarui.

Iya benar sekali.

semacam tajuk HTTP terasa lebih baik daripada mencoba mengubah sumber skrip

Greasy Fork menyimpan skrip di DB dan tetap menulis ulang sumbernya (mis. menghasilkan meta.js dari user.js). Mengubah sumber tidak masalah bagi saya. Header HTTP mungkin menjadi masalah karena skrip mungkin melalui perangkat lunak caching.

Dari sini, saya berasumsi bahwa parameter kueri secara efektif merupakan tautan permanen ke skrip pengguna tertentu.

Dalam bahasa saya, parameter versi menyediakan tautan permanen ke versi tertentu dari skrip pengguna tertentu.

Saya yakin kami dapat mendukung bentuk permalinking ini dengan menambahkan pencocokan parameter kueri saat mendeteksi skrip pengguna.

Greasy Fork tidak menggunakan parameter URL untuk tujuan lain selain menautkan ke versi tertentu, tapi saya tidak bisa menjanjikan itu tidak akan terjadi di masa mendatang, atau situs lain juga tidak.

Setelah refleksi lebih lanjut: Dibutuhkan lebih banyak upaya untuk mematuhi lintas-mesin ( @derjanb , @gera2ld), tetapi: Jika kita akan membiarkan kontrol sumber memeriksa pembaruan, saya lebih memikirkan entri baru* seperti:

// <strong i="7">@updates</strong> never
// <strong i="8">@updates</strong> 24h
// <strong i="9">@updates</strong> 7d

Biarkan skrip menentukan seberapa sering harus diperbarui secara otomatis. Ketika saya dalam pengembangan aktif, saya dapat membuatnya tetap rendah, ketika saya menjadi stabil, saya dapat menyetelnya (tetapi mundur jika/ketika saya mulai memperbarui lagi). Dan host skrip dapat (jika mereka tetap akan melakukan munging skrip) menimpa nilai yang mereka inginkan (berdasarkan hal-hal seperti berapa banyak pengguna yang telah menginstalnya, sumber daya server, dll.).

Saya ingin nama yang lebih deskriptif tetapi belum memiliki kandidat khusus yang saya suka.

* Meskipun untuk nilai yang tidak pernah, dukungan <strong i="14">@downloadURL</strong> none dapat ditambahkan juga.

Dari aspek teknis, seharusnya sth. seperti @updatefrequency (terlalu panjang?) atau @updatecycle .
Dan semoga ada pemicu untuk memulai pengecekan semua script secara manual...

Biarkan skrip menentukan seberapa sering harus diperbarui secara otomatis. Ketika saya dalam pengembangan aktif, saya dapat membuatnya tetap rendah, ketika saya menjadi stabil, saya dapat menyetelnya (tetapi mundur jika/ketika saya mulai memperbarui lagi). Dan host skrip dapat (jika mereka tetap akan melakukan munging skrip) menimpa nilai yang mereka inginkan (berdasarkan hal-hal seperti berapa banyak pengguna yang telah menginstalnya, sumber daya server, dll.).

Kedengarannya masuk akal.

Saya ingin nama yang lebih deskriptif tetapi belum memiliki kandidat khusus yang saya suka.

Mungkin @updateInterval ?

atau cukup @updatetime ... (tidak terlalu tepat, tapi menarik)

@updatetime membuat saya berpikir tentang "jam 8:00 pagi" daripada frekuensi.

@Sxderp Jadi Anda akan mendukung <strong i="6">@updatefreq</strong> 1d ?

Saya bukan penutur asli, tetapi nilainya (yaitu 24 jam) sebenarnya bukan frekuensi. Ini interval atau periode, kan? 🤓

<strong i="5">@updateinterval</strong> 1day terdengar bagus. Saya akan merekomendasikan terhadap "periode" karena memiliki arti yang berlebihan dalam bahasa Inggris umum (meskipun memiliki arti ilmiah yang tepat)

@updateinterval tidak tepat seperti @updatetime . Anda tidak tertarik pada interval, tetapi rentang waktu (maksimal) antara pembaruan ...

Saya tidak terlalu suka lapse, jadi saran saya selanjutnya adalah <strong i="5">@updatespan</strong> 1d ...

@arantius , kapan pembaruan otomatis dijadwalkan? Saya tidak dapat beralih ke 3.x di FF60.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat