2011-09-19 6 views
-1

컨텍스트 메뉴에 아이콘을 추가하려고하지만 표시되지 않는 이유를 모르겠습니다.Firefox 컨텍스트 메뉴 항목 아이콘

chrome.menifest

content xulschoolhello    jar:chrome/xulschoolhello.jar!/content/ 
skin  xulschoolhello classic/1.0 jar:chrome/xulschoolhello.jar!/skin/ 
locale xulschoolhello en-US  jar:chrome/xulschoolhello.jar!/locale/en-US/ 

overlay chrome://browser/content/browser.xul chrome://xulschoolhello/content/browserOverlay.xul 

style chrome://browser/content/browser.xul chrome://xulschoolhello/skin/browserOverlay.css 

browserOverlay.xul

<?xml version="1.0"?> 

<!DOCTYPE overlay SYSTEM 
    "chrome://xulschoolhello/locale/browserOverlay.dtd"> 

<overlay id="xulschoolhello-browser-overlay" 
    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> 

    . 
    . 
    . 

    <!-- Context menu additions --> 
    <popup id="contentAreaContextMenu"> 
     <menuseparator id="ss-context-menu-separator"/> 
     <menuitem id="ss-context-menu-item" class="menuitem-iconic" 
       label="click me" 
       oncommand="XULSchoolChrome.BrowserOverlay.sayHello(event);"/> 
    </popup> 
</overlay> 

browserOverlay.css

012 : 여기

는 전체 코드입니다
#ss-context-menu-item { 
    list-style-image: url("ss_16.png"); 
} 

문제에 대한 아이디어가 있으십니까?

+0

테스트 할 첫 번째 일 : 이미지가 전혀로드되지 않습니까? 브라우저에서'chrome : // xulschoolhello/skin/ss_16.png'을 열어보십시오. –

+1

@Wladimir Palant : 문제를 일으키는 다른 원인 일 수 있기 때문에 전체 코드를 게시했습니다. 어쨌든 코드를 줄였습니다. 크롬 : //xulschoolhello/skin/ss_16.png이 브루 서 (brwoser)에서 열리고 있습니다. – MA1

+0

파일 이름을 chrome.manifest로 지정하면 안됩니까? (menifest가 아님) –

답변

0

내 확장 기능을 사용한 테스트에서 chrome.manifest에있는 스타일 시트 외에도 오버레이의 스타일 시트에 대한 참조를 추가해야한다고 생각합니다. 이렇게하려면 당신은 DOCTYPE 선언하기 전에 다음 줄을 추가해야합니다 :

<?xml-stylesheet href="chrome://xulschoolhello/skin/browserOverlay.css" type="text/css"?> 

당신은 tutorial에 따르면, 또한 작업을해야 만 chrome://xulschoolhello/skin/ 남겨두고, 파일 이름을 넣어하지 않는 경우.

+0

이미 확인되었으므로 아무 효과가 없습니다. CSS와 이미지 파일은 같은 디렉토리에 있으므로 전체 경로를 사용할 필요가 없습니다. – MA1

+0

확인. 오버레이에서 browserOverlay.css를 참조하고 있습니까? 그것은 당신의 발언에 없습니다. – Woundorf

+0

틀렸어 - CSS 파일의 URL은 항상 CSS 파일 위치를 기준으로합니다. 따라서 전체 URL을 사용하는 것은 불필요합니다. 그리고'browserOverlay.css'는'chrome.manifest'에서 참조됩니다 (스타일 오버레이입니다). –

관련 문제