Nhảy chậm một chút.
Công ty chúng tôi - Slice Factory (tiết lộ đầy đủ ở đây!) Cung cấp dịch vụ chuyển đổi tiện ích mở rộng của trình duyệt: http://gallery.extensionfactory.com/labs/conversion/ Trong hầu hết các trường hợp, tiện ích chrome của bạn sẽ hoạt động liên tục trong FF và Safari.
Dịch vụ vẫn đang trong giai đoạn thử nghiệm beta và chuyển đổi Firefox đang hoạt động tốt hơn Safari. Tôi không thể tiết lộ đầy đủ giải pháp kỹ thuật của mình, nhưng đây là câu trả lời SO, tôi có thể thêm một vài chi tiết: chúng tôi đã phát triển lại một chồng api javascript đầy đủ bắt chước hầu hết các API tiện ích mở rộng của Chrome cho Safari và Firefox; trong Firefox, chúng tôi dựa trên công việc của chúng tôi trên JetChrome. Ngoài ra, chúng tôi có trình bao bọc đóng gói lại tiện ích chrome thêm thư viện của chúng tôi và viết lại các tệp kê khai, v.v.
Ngoài ra, nó chủ yếu là một vài ý tưởng hay, thử và sai và rất nhiều thời gian phát triển.
Ví dụ: Safari 5.1 vừa giới thiệu cửa sổ bật lên tương ứng với browser_action của Chrome, nhưng chúng tôi đã có giải pháp thay thế hoạt động cho các phiên bản trước. Firefox không hỗ trợ HTML5 WebSQL, nhưng chúng tôi có một API cho nó. Chúng tôi cũng cung cấp một cách để đưa các ứng dụng web vào FF và sớm đến Safari. Mục tiêu là có API Chrome làm tham chiếu và bắt chước nó trên tất cả các trình duyệt khác.
Nếu không đẩy bạn tới giải pháp của chúng tôi, tôi có thể thêm rằng thời gian để bao gồm đầy đủ API Chrome trên cả Safari và Firefox có thể không đáng - trừ khi bạn có kế hoạch chuyển đổi một số tiện ích mở rộng. Vì vậy, chỉ với một hoặc hai tiện ích mở rộng, tôi khuyên bạn nên tạo mã của mình làm mô-đun càng tốt và chỉ cần tạo ba tiện ích mở rộng - hoặc thử dịch vụ của chúng tôi!
Tại sao bạn quan tâm đến khả năng tương thích với IE? Nó không hỗ trợ phần mở rộng. – serg
Nó thực hiện, nhưng theo cách rất “rất bất thường”. –