Bagaimana Saya Menyelesaikan Konflik Kotak Pasir jQuery dalam Greasemonkey 1.0?

Mary-Kate Olsen
Lepaskan: 2024-11-19 18:54:02
asal
300 orang telah melayarinya

How Do I Resolve jQuery Sandbox Conflicts in Greasemonkey 1.0?

Konflik Kotak Pasir jQuery dalam Greasemonkey 1.0:

Dengan pengenalan Greasemonkey 1.0, mekanisme kotak pasir telah mengalami perubahan ketara, mengakibatkan konflik antara Versi jQuery di tapak web menggunakan platform dan Greasemonkey skrip.

Konflik timbul disebabkan oleh kod @grant baharu, yang mengubah suai gelagat kotak pasir. Ini telah menyebabkan skrip bergantung pada jQuery dalam metadata @require tidak berfungsi kerana gangguan daripada contoh jQuery halaman itu sendiri.

Menyelesaikan Konflik:

Dokumentasi rasmi Greasemonkey mencadangkan penyelesaian yang melibatkan ini.$ = this.jQuery = jQuery.noConflict(true). Walau bagaimanapun, penyelesaian ini mungkin tidak berfungsi dengan berkesan dalam semua kes dan boleh menjejaskan prinsip pengekodan.

Penyelesaian yang lebih optimum melibatkan pelaksanaan semula mekanisme kotak pasir. Ini boleh dicapai dengan menyatakan nilai @grant (selain tiada) dalam blok metadata skrip Greasemonkey.

Contoh Blok Metadata:

// @grant  GM_addStyle
// @grant  GM.getValue
// ==/UserScript==
/*- The @grant directive is needed to work around a design flaws introduced in GM 1.0
    and again in GM 4.0.
    It restores the sandbox.
*/
Salin selepas log masuk

Oleh memulihkan kotak pasir, konflik antara contoh jQuery yang berbeza diselesaikan dan skrip memperoleh semula keserasiannya dengan enjin unggul seperti Tampermonkey dan Violentmonkey.

Atas ialah kandungan terperinci Bagaimana Saya Menyelesaikan Konflik Kotak Pasir jQuery dalam Greasemonkey 1.0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan