jQuery'yi bir Firefox eklentisi içinde kullanmaya çalışıyorum ve aslında XUL dosyasının içeriğinin aksine geçerli sayfanın DOM'sini değiştirmek için jQuery'yi kullanmak istiyorum. Bu nedenle, jQuery'yi XUL dosyasına yüklerim ve bir kum havuzundaki bazı komut dosyalarına (Greasemonkey eklenti derleyicisi http://arantius.com/misc/greasemonkey/script-compiler kullanarak) aktarırım. JQuery, sayfa DOM ile yüklenmediğinden, jQuery çağrılarına geçmek yerine, seçici bağlamını DOM'ye ayarlamak istiyorum.Varsayılan jQuery seçici kapsamını geçersiz kıl
Çözümü How to use jQuery in Firefox Extension numaralı telefondan takip ettim ve neredeyse istediğimi elde ettim.
jQuery.noConflict();
$ = function(selector,context){ return new jQuery.fn.init(selector,context||example.doc); };
$.fn = $.prototype = jQuery.fn;
jQuery() işlevine çağrı yapmak mümkün, ve sayfa DOM bağlam olarak kullanılacaktır. Ancak, tanımlı olmayan jQuery.trim gibi işlevleri kullanamıyorum.
ben kendi jQuery nesnesi jQuery prototip özelliklerin tümünü miras sağlayacak çözümü$.fn = $.prototype = jQuery.fn;
bu çizgiyi düşündüm, ama görünüşe göre değil.
Bir vanilla jQuery nesnesi verin, jQuery işlevlerinin tümünü korurken, seçici bağlam olarak belirli bir öğeyi kullanmak için onu nasıl yeniden tanımlayabilirim?
senin için işe yarar. JQuery'yi bir uzantıda kullanmaya çalışıp bir XUL kaplamasına yüklediğimde, Webdeveloper araç çubuğu gibi diğer eklentilerin yer paylaşımlarını bir şekilde kırdı. Belki şimdi daha iyi çalışır. Sadece bunun için dikkat! –