저는 서버에서 가져온 데이터에서 책갈피 메뉴를 만드는 Firefox 확장 프로그램에서 작업하고 있습니다. 각 메뉴 항목에 아이콘을 추가하고 싶지만 표시하지 못하는 것 같습니다.Firefox 확장자 Menuitem 이미지가 표시되지 않습니다.
Bookmarks.createMenuItem = function(item) {
var menuItem = document.createElementNS(Bookmarks.XUL_NS, "menuitem");
menuItem.setAttribute("label", item.url_title);
menuItem.setAttribute("oncommand", "Bookmarks.openUrl('" + item.url + "');");
menuItem.setAttribute("class", "bookmark-menu-item");
if (item.favicon) {
menuItem.setAttribute("class", menuItem.getAttribute("class") +
" menuitem-iconic");
menuItem.setAttribute("image", item.favicon);
}
return menuItem;
};
menuitem은 이미지를 표시하지 않는다는 점만 제외하면 잘 작동합니다. 아래 코드에서 item.favicon의 각 이미지에 대한 URL에 액세스 할 수 있는지 확인했습니다.
무엇이 잘못 되었습니까? Firefox 6.0.2를 사용하고 있습니다. HttpFox - -
웹에서 외부 서버로 이미지를 가져 오는 중입니까? 그렇다면 보안상의 이유로 허용되는지 확실하지 않습니다. 어쩌면 base64로 인코딩 된 문자열로 로컬로 저장해보십시오. –
난 내 확장 프로그램의 콘텐츠 디렉토리에 16x16 icon.png 만 넣은 다음 이미지 속성으로 "icon.png", "content/icon.png", "bookmarks/content/icon.png", "chrome : //bookmarks/content/icon.png ". setAttribute()를 사용하는 대신 menuItem.image를 통해 설정을 시도했습니다. 그것들 중 아무 것도 작동하지 않는 것 같았습니다. image 속성이 menuitem에 설정되어 있고 "menuitem-iconic"클래스가 있는지 확인하기 위해 몇 가지 경고를 보냅니다. – erturne
솔직히, 여기서 코드에 문제가없는 것은 아닙니다. 'menuitem-iconic' 클래스와'image' 속성을 설정하는 것은 확실히 저에게 효과적입니다. –