2009-02-10 37 views
6

Tôi sử dụng jquery-1.2.6 trong các tiện ích mở rộng của Firefox và nó hoạt động rất tốt. Một số ngày trước, tôi muốn cập nhật phiên bản hiện tại của jquery (1.31) nhưng điều này dường như không hoạt động nữa. Đây là kỹ thuật tôi để bao gồm jquery trong phần mở rộng của tôi:Tiện ích mở rộng của Firefox với jquery 1.3+

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

Tôi nhận thức được những kỹ thuật được mô tả tại this trang, nhưng điều đó không làm việc, hoặc. Vì vậy, có ai ở đây sử dụng một phiên bản mới hơn jquery-1.2.6 trong phần mở rộng của Firefox và có thể cho tôi biết làm thế nào?

+1

Đọc chi tiết về cách sử dụng phần mở rộng jquery bên trong firefox một cách an toàn mà không có xung đột với các phần bổ trợ khác tại đây: http://meherranjan.com/blog/a-guide-to-using-jquery-inside-firefox-extension/ –

Trả lời

5

tôi đã tìm thấy giải pháp cho vấn đề của mình!

Tôi sẽ trình bày ở đây để người khác có thể sử dụng tài liệu này làm tài liệu tham khảo. Sau khi rất nhiều tìm kiếm và xé tóc của tôi tôi tìm thấy this báo cáo lỗi trên trình theo dõi lỗi jquery. Bạn có thể tải xuống jquery 1.3.1 Revision: 6161 ở đó để khắc phục sự cố (bản phát hành chính thức 1.3.1 là Bản sửa đổi: 6158).

Một mẹo tuyệt vời khác được phát hiện là bao gồm thư viện giống như jquery "đang chạy" trong các tiện ích firefox. Chỉ cần bao gồm thông tin sau trong một số tệp javascript trong tiện ích của bạn:

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()); 

Cập nhật: Hôm nay phiên bản 1.3.2 đã được phát hành và vấn đề dường như đã được giải quyết!

1

Sau window.content.document Tôi không thấy dấu chấm phẩy, tôi nghĩ điều đó là cần thiết.

+0

Không, jquery -1.3+ không hoạt động ngay cả với dấu chấm phẩy. Như tôi đã nói, nó hoạt động perfekt với jquery-1.2.6 (thậm chí không có dấu chấm phẩy). Phải có một vấn đề khác ... – bizzy

Các vấn đề liên quan