2010-09-11 36 views
7

Tôi đang cố gắng tạo addon firefox & Tôi muốn thêm hình ảnh/biểu tượng trong menu nội dung nhấp chuột phải, ví dụ: firebug có biểu tượng trong menu ngữ cảnh nhấp chuột phải,addon firefox: thêm biểu tượng vào menu ngữ cảnh

enter image description here

tôi muốn làm điều gì đó tương tự, addon của tôi cũng bao gồm các mục menu

cấu trúc của addon của tôi trong menu ngữ cảnh:

[icon] [menu] 
      [menu item 1] 
      [menu item 2] 
      [menu item 3] 
      [menu item 4] 

Tôi có thể làm như thế nào?

Trả lời

6

Bạn phải đặt image attribute, cung cấp cho phần tử class menu-iconic và lưu trữ hình ảnh để bạn có thể truy cập nó.

XUL:

<menu id="someid" label='your label' 
      class="menu-iconic" 
      image='chrome://addon/skin/image.png'> 
... 
</menu> 

JavaScript:

Bạn cũng có thể thiết lập hoặc thay đổi hình ảnh động (có được một tham chiếu đến phần tử đầu tiên):

menu.setAttribute('image', 'chrome://addon/skin/image.png'); 
+0

Cảm ơn bạn, Nó làm việc :), đấu tranh để này trong 2 giờ qua, cuối cùng 'class = "menu-biểu tượng" 'khiến công việc của tôi được thực hiện. nhưng một câu hỏi, làm thế nào nó có biểu tượng khi thêm thuộc tính 'class'? –

+0

Tôi đoán rằng Firefox sử dụng một số CSS để hiển thị hình ảnh và cũng có thể căn chỉnh văn bản chính xác. Cuối cùng, giao diện XUL cũng được tạo kiểu với CSS. –

0

Bạn có thể thêm một bối cảnh menu bằng cách sử dụng hình ảnh SDK Tiện ích Mozilla mới bằng cách sử dụng thuộc tính hình ảnh

dưới tùy chọn Tùy chọn:

chỉ cần thêm thuộc tính hình ảnh giống như hình ảnh

var menuItem = contextMenu.Menu({ 
    include: "*.stackoverflow.com", 
    label: "do something", 
    image: "data:image/png;base64,iVBORw0KGgoAA ...", 
    context: contextMenu.SelectorContext('div.someclass'), 
    contentScriptFile: data.url("cs.js"), 
    items: [ 
     contextMenu.Item({ label: "Item 1", data: "item1" }), 
     contextMenu.Item({ label: "Item 2", data: "item2" }), 
     contextMenu.Item({ label: "Item 3", data: "item3" }) 
     ] 
}); 

này: Biểu tượng của mục, URL chuỗi. URL có thể là từ xa, tham chiếu đến một hình ảnh trong thư mục dữ liệu của tiện ích bổ sung hoặc URI dữ liệu.

Mozilla context menu help page for Addon SDK

+0

Câu hỏi này rõ ràng có thẻ XUL và không có thẻ firefox-addon-sdk. Mặc dù không phải là * sai * để cung cấp câu trả lời ở đây cho SDK bổ sung, nhưng từ ngữ trong đoạn đầu tiên của bạn ngụ ý rằng có điều gì đó sai trái khi sử dụng XUL vào lúc này. Đó không phải là tình huống. Nó vẫn chưa được chấp nhận. – Makyen

+0

Tuyên bố duy nhất đã được thực hiện là việc ngừng sử dụng có thể xảy ra đôi khi trong tương lai. "[Chúng tôi không có lịch trình cụ thể về việc ngừng sử dụng, nhưng rất có thể nó sẽ diễn ra trong vòng từ 12 đến 18 tháng kể từ bây giờ.] (Https://blog.mozilla.org/addons/2015/08/21/the- tương lai-of-phát triển-firefox-add-ons /) "Bây giờ là 2015-08-21 trong tuyên bố đó. – Makyen

+0

Tôi sẽ không dành thời gian để phát triển thứ gì đó không thực sự được ghi lại và sẽ bị mất giá trong thời gian ~ 1 năm, nhưng mỗi lần lại – ejectamenta

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