2010-11-07 33 views
22

Trong Firefox có các plugin và phần mở rộng. Bạn có thể giải thích cho tôi tại sao những addons này có tên và tab khác nhau không? Chúng có khác biệt rất nhiều nên chúng cần các tên khác nhau? Tôi nghĩ rằng có một chút không tự nhiên để khác biệt những thứ này, các phần mở rộng có nhiều chức năng hơn, những gì họ thiếu để so sánh với các plugin?Sự khác biệt giữa phần mở rộng và plugin của Firefox là gì?

Trả lời

31

Sự khác biệt là cả lịch sử và thực tế:

  • plugin được biên dịch, mô-đun có thể nạp được, ban đầu có nguồn gốc từ NPAPI; họ có thể sống bên ngoài không gian xử lý của trình duyệt (dẫn đến tất cả các loại vấn đề tương thích thú vị và khả năng hoạt động). Ví dụ phổ biến nhất là Flash và Java - cả hai yêu cầu một cửa sổ phụ ("khung nhìn" hoặc "canvas" (không phải của HTML5 canvas - hoàn toàn khác: phần gốc của trang web)) bên trong trang web và tự xử lý theo một cách độc lập phần lớn với trình duyệt. Các tiện ích mở rộng
  • được viết chủ yếu bằng JavaScript và XUL. Vì các tiện ích mở rộng hoạt động như một phần của trình duyệt, chúng có đặc quyền truy cập rộng hơn so với JS-trong-một trang web, nhưng chúng vẫn phải chịu một số hạn chế. Cách tích hợp phổ biến nhất là móc vào một số chức năng của FF và mở rộng.

Vì vậy, mặc dù plugin và tiện ích có thể xuất hiện có liên quan, chúng là những công nghệ rất khác nhau đằng sau hậu trường.

+1

Câu trả lời chính xác hơn nhiều so với tôi! –

+0

Và bây giờ có phần mở rộng XUL và WebExtensions - trước đây dường như không được chấp nhận, và sau này là thiếu máu. Yay. – Piskvor

11

Theo Mozilla, các plugin giúp nội dung hiển thị trình duyệt, chẳng hạn như phát phương tiện. Tiện ích mở rộng thực sự thêm chức năng mới vào trình duyệt.

Xem vài đoạn văn đầu tiên ở đây: https://developer.mozilla.org/en/extensions

+1

imo, câu trả lời này có giá trị hơn giá trị được chấp nhận (trong khi chính xác, quá chi tiết triển khai và khó theo dõi (một phần vì nó chứa dấu ngoặc ôm)). Câu trả lời này đưa ra một cái nhìn tổng quan cấp cao rằng một người không có kinh nghiệm với các công nghệ này có thể hiểu được. – d512

5

Một là những chương trình chạy side-by-side của firefox. Họ lấy canvas và khi họ vẽ trên canvas, firefox sẽ hiển thị nó. Các ví dụ đáng chú ý: Flash, Java, QuakeLive.

Khác là các chương trình chạy trong trình biên dịch/biên dịch javascript của firefox. Họ mở rộng chức năng firefox trực tiếp hơn, vì họ có quyền truy cập vào nội bộ firefox và không chỉ đơn thuần là canvas. Ngoài ra, chúng dễ di chuyển hơn vì chúng không yêu cầu hỗ trợ cơ bản của hệ điều hành nhiều.

Có những ưu điểm và nhược điểm đối với cả hai cách tiếp cận và chúng giải quyết các tác vụ khác nhau.

+0

+1. Chỉnh sửa nhỏ: canvas của plugin được mặc định hiển thị trực tiếp bởi plugin, bỏ qua trình duyệt hoàn toàn (ví dụ: thuộc tính 'wmode = transparent' của Flash là một chút giải pháp cho việc này). – Piskvor

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