2009-12-01 25 views
10

Tôi đã làm việc trên một phần mở rộng Firefox, nhưng nó đã được làm chậm đi (một phần vì tôi không có thời gian để làm việc trên nó). Tôi đã có một bộ xương cơ bản, đã xác minh rằng tôi có thể nói chuyện với một API JSON bên ngoài, sửa đổi bất kỳ trang web nào khi được tải và hiển thị một hộp tùy chọn. Đây là tất cả các Hello Worlds cần thiết cho tiện ích mở rộng mà tôi đang viết (có thể tôi không cần hộp tùy chọn).Firefox Exension vs. Greasemonkey Script?

Đột nhiên nó xảy ra với tôi rằng tôi có thể bỏ qua một cách dễ dàng hơn nhiều để làm điều đó. Since Greasmonkey scripts may be compiled into Firefox Extensions, Greasemonkey có thể là một cách tốt hơn để đi:

  1. Có thể dễ dàng hơn (không chắc chắn)?
  2. Nó có thể là trình duyệt chéo (ít nhất là Safari và Firefox)?
  3. Có giới hạn nào đối với các tập lệnh Greasemonkey so với các phần mở rộng FF 'gốc'? Giao diện người dùng chrome có thể được viết không? DIV thông thường được bật lên? Tùy chọn được lưu trữ (tôi nghĩ rằng chúng có thể được)?

Tôi đang tìm kiếm so sánh các tiện ích mở rộng Firefox của Greasemonkey so với "bản địa". Ngoài ra, có ai đã làm việc với "biên dịch" một tập lệnh Greasemonkey vào một phần mở rộng FF (kinh nghiệm, vấn đề) không?

Trả lời

5

Tôi sẽ nói, nói chung, nếu mục đích của bạn là sửa đổi cách trang web được hiển thị/chức năng, thì Greasemonkey là cách để đi. Nếu bạn có một bó cửa sổ/giao diện người dùng để hiển thị và bạn đang thực sự vượt ra ngoài ý định cốt lõi của Greasemonkey thì có lẽ tốt nhất nên gắn bó với một phần mở rộng truyền thống hơn.

+0

Cảm ơn Philfreo, điều đó có vẻ là sự hiểu biết của tôi. Đồng thời tôi muốn đi vào khía cạnh kỹ thuật hơn về điều này, đặc biệt là biên dịch các phần mở rộng Greasemonkey (nếu không người dùng cần Greasemonkey, phải không?). –

+0

Đúng ... nhưng nếu bạn muốn hỗ trợ Safari, bạn vẫn sẽ phải cung cấp hướng dẫn về cách cài đặt GreaseKit trước ... và những người sử dụng Greasemonkey có thể sẽ không cài đặt tiện ích mở rộng cho Firefox – philfreo

1

Một người nghĩ rằng các tập lệnh bộ lọc lỗi không thể gọi UniversalXPConnect. Tôi gặp phải một số vấn đề do điều này, không chắc chắn liệu điều này có thể được giải quyết bằng phần mở rộng của Firefox hay không. Nhưng tôi cảm thấy khá nhiều khó khăn vì không thể gọi UniversalXPConnect và làm điều gì đó lớn lao.

+0

Cảm ơn Priyank, tôi thấy rằng từ câu hỏi khác của bạn ở đây http://stackoverflow.com/questions/1284187/universalxpconnect-in-greasemonkey-script –

1

Giờ đây, Google Chrome đang trở nên phổ biến. Và nó cũng có API mở rộng của riêng nó. Các tập lệnh Greasemonkey đơn giản nhất sẽ cài đặt trên Google Chrome vì nó không có bất kỳ chỉnh sửa nào. Nếu bạn đang sử dụng XHR thì bạn có thể phải tạo một Tiện ích mở rộng của Chrome.

Tôi tin rằng Mozilla đã nhận ra rằng Tiện ích mở rộng của Firefox cần được sửa chữa lớn. Tại thời điểm họ đang đẩy cho Jetpack. Họ cần phải cải thiện cơ chế mở rộng thời gian dài trước đây lấy cue từ sự thành công của Greasemonkey.

Tôi chỉ thêm vào câu hỏi của bạn rằng có nhiều tùy chọn hơn sau đó chỉ cần Greasemonkey và Firefox Extension. Bạn muốn có một giải pháp dễ cài đặt/chạy trên nhiều trình duyệt.

Tôi sẽ nghĩ ra 'tính năng' tôi sẽ triển khai trong phần mở rộng của trình duyệt và sau đó xem cơ chế mở rộng nào (GM, Jetpack, phần mở rộng FF, Tiện ích mở rộng của Google Chrome) hỗ trợ tất cả các tính năng.

+0

Điểm được thực hiện , cảm ơn bạn. –

1

Vì yêu cầu điều này, tôi đã bắt đầu làm việc với việc biên dịch các tập lệnh Greasemonkey trong Firefox. Làm việc như một say mê.

Các giới hạn là tất cả những thứ mà bạn không thể thực hiện với tiện ích mở rộng Greasemonkey. Bạn không thể thực hiện một hộp Tùy chọn Tiện ích Firefox thực, cũng như nhiều thứ "Chrome" nghiêm trọng. Điều duy nhất bạn có thể sửa đổi trong trình duyệt là chrome.css xuất hiện đôi khi trước khi tải trang.

Có thể có các giới hạn khác (xem câu trả lời của Priyank, có liên quan đến việc truy cập hệ thống tệp cục bộ).

Như philfreo nói, nếu ý định của bạn là sửa đổi một trang web, Greasemonkey là một cách tốt để đi. Tôi đã thấy NO vấn đề trong việc biên dịch các phần mở rộng Greasemonkey (đáng kinh ngạc) và khiến chúng hoạt động giống như trong Greasemonkey.

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