2013-10-15 23 views
10

Tôi đang nghiên cứu phát triển tiện ích bổ sung của Firefox bằng cách sử dụng Add-on SDK. Tiện ích mở rộng của tôi hoạt động tốt khi sử dụng SDK, nhưng khi tôi tạo tệp .xpi để thêm tiện ích mở rộng theo cách thủ công vào trình duyệt, tiện ích mở rộng đó không hiển thị biểu tượng tiện ích mở rộng.Tiện ích bổ sung của Firefox: biểu tượng tiện ích mở rộng không hiển thị

Tôi đã cố thay đổi đường dẫn biểu tượng trong tệp package.json nhưng vẫn không hiển thị biểu tượng.

package.json file: bảng

{... 
    "icon"  : "Phone-icon48.png", 
    "icon64"  : "Phone-icon64.png", 
...} 

Widget dùng để hiển thị biểu tượng:

WidgetPackage.Widget({ 
    label: "Phone Dial", 
    id: "phone_dial", 
    contentURL: data.url("images/Phone-icon19.png"), 
    panel: panel_name 
}); 

bất cứ ai có thể giúp tôi giải quyết vấn đề?

Cảm ơn bạn.

+0

Không chắc chắn những gì bạn có nghĩa là - là biểu tượng thiếu cho các widget, trong bộ quản lý addon, cả hai? Đối với biểu tượng tiện ích, tệp có thực sự tồn tại trong dự án tiện ích của bạn tại 'data/images/Phone-icon19.png' ??? – canuckistani

+0

Có, biểu tượng bị thiếu đối với tiện ích nhưng chỉ bị thiếu khi tiện ích mở rộng được thêm bằng tệp .xpi. khi tôi chạy tiện ích mở rộng bằng cách sử dụng 'cfx run', biểu tượng đang hiển thị. Hình ảnh biểu tượng điện thoại tồn tại trong thư mục dữ liệu. –

+0

Tôi có cùng một vấn đề. Và biểu tượng hiển thị trong trình quản lý tiện ích bổ sung. –

Trả lời

2

Theo Addon SDK docs:

Đường dẫn tương đối từ thư mục gốc của add-on vào một tập tin PNG chứa biểu tượng của add-on. Mặc định là "icon.png".

Vì vậy package.json của bạn sẽ giống như thế này:

{... 
    "icon"  : "data/images/Phone-icon48.png", 
    "icon64"  : "data/images/Phone-icon64.png", 
...} 
3

This may be a persistent bug. This thread reports a similar problem.

Ah - đây là giải pháp. Bạn đặt các biểu tượng của mình vào một thư mục có tên là data trong thư mục gốc của thư mục của tiện ích con và gọi cho chúng là as if chúng nằm trong thư mục gốc.

{... 
    icon: { "16": "./icon-16.png", "32":"./icon-32.png", "64": "./icon-64.png" }, 
...} 

Khi tôi thực hiện việc này thì biểu tượng sẽ hiển thị trong thanh công cụ. Nó không phải là rất rõ ràng, nhưng nếu bạn mảnh những thứ với nhau, you might deduce that from here.

0

A seemingly related issue đã được đóng cửa trước đó, nhưng nó xảy ra với tôi ngày hôm nay

Một cách giải quyết với JPM 1.1.4 và Firefox 48/50:

  • Tên biểu tượng icon.png và đặt nó trong gốc dir của addon.
  • Viết không"icon": ... mục trong package.json (do đó không có <em:icon> trong install.rdf)
Các vấn đề liên quan