2011-09-17 2 views
2

저는 서버에서 가져온 데이터에서 책갈피 메뉴를 만드는 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 - -

+0

웹에서 외부 서버로 이미지를 가져 오는 중입니까? 그렇다면 보안상의 이유로 허용되는지 확실하지 않습니다. 어쩌면 base64로 인코딩 된 문자열로 로컬로 저장해보십시오. –

+0

난 내 확장 프로그램의 콘텐츠 디렉토리에 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

+0

솔직히, 여기서 코드에 문제가없는 것은 아닙니다. 'menuitem-iconic' 클래스와'image' 속성을 설정하는 것은 확실히 저에게 효과적입니다. –

답변

1

나는 메뉴 항목에 아이콘이 임의 확장을 골랐다 거기 당신은 다음과 같이 있습니다

XUL 파일 :

<menupopup id="toolsPopup"> 
    <menu id="hf_menu_HttpFox" 
     class="menu-iconic" 
     label="&browseroverlay.menutools.httpfox.label;" /> 
</menupopup> 

CSS 파일 :

#hf_appmenu_HttpFox, #hf_menu_HttpFox, #hf_menu_webDeveloper_HttpFox { 
    list-style-image: url(chrome://httpfox/skin/globe16.png); 
} 

FoxSplitter에서와 같은 방식입니다. style 속성이 메뉴에 허용되는 경우

그러니까 기본적으로, 당신은

menuItem.setAttribute("image", item.favicon); 

menuItem.setAttribute("style", "list-style-image: url(" + item.favicon + ")"); 

(item.favicon이 URL 인 경우), 또는 style이 작동하지 않는 경우, 변경 될 수 있습니다 각 항목에 대한 클래스를 만듭니다. 희망이 도움이됩니다.

+0

'image' 속성과'list-style-image' CSS 속성은이 경우 완전히 동일합니다. –

관련 문제