2009-02-10 23 views
6

Firefox eklentilerimde jquery-1.2.6 kullanıyorum ve harika çalışıyor. Bazı günler önce jQuery (1.31) 'in güncel versiyonunu güncellemek istedim, ancak bu artık işe yaramıyor.Firefox eklentisi ile jquery 1.3+

$mb = jQuery.noConflict(); 
var doc = window.content.document 
$mb("body", doc).slideToggle("slow"); 

Ben this sayfada anlatılan tekniğin farkındayım, ancak bu da işe yaramazsa: İşte benim uzantılarında jquery dahil etmek benim tekniktir. Burada Firefox eklentilerinde jquery-1.2.6'dan daha yeni bir versiyon kullanan herhangi bir kimse var ve bana nasıl diyebilirim?

+1

JQuery inside firefox eklentisini diğer eklentilerle çakışma olmaksızın güvenle kullanma hakkında ayrıntılı bilgi için: http://meherranjan.com/blog/a-guide-to-using-jquery-inside-firefox-extension/ –

cevap

5

Sorunum için bir çözüm buldum!

Burada sunacağım, böylece diğerleri bunu referans olarak kullanabilir. Çok fazla arama yaptıktan ve saçımı yırttıktan sonra jquery hata izleyicisinde this hata raporunu buldum. Orada sorunu gideren jquery 1.3.1 Revision: 6161'u indirebilirsiniz (resmi 1.3.1 sürümü Revizyon: 6158'dir).

Firefox eklentilerinde kütüphane benzeri jquery "fly the fly" da dahil olmak üzere bir başka harika bir hile. Sadece uzantısı içinde bazı javascript dosya içinde şunlar yer alır:

var jsLoader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"].getService(Components.interfaces.mozIJSSubScriptLoader); 
jsLoader.loadSubScript("chrome://{appname}/content/jquery-1.3.1_6161.js"); 
jQuery.noConflict(); 

//use jquery 
var doc = window.content.document; 
alert(jQuery("body", doc).html()); 

Güncelleme: Bugün sürüm 1.3.2 serbest bırakıldı ve sorun çözüldü gibi görünüyor!

1

window.content.document sonra noktalı virgül görmüyorum, bence bu gerekli.

+0

Hayır, jquery -1.3+ noktalı virgülle bile çalışmıyor. Dediğim gibi, jquery-1.2.6 ile perfekt çalışır (herhangi bir noktalı virgül olmadan bile). Başka bir sorun olmalı ... – bizzy