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. */
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!