0

package.json에서, 나는 함께하고 resource://없이 시도 부가 기능 관리자에서 {}sname하는 GUID, 모두 nameGUID,도 nameGUID를 표시하는 아이콘을 얻을 수 없다 , @, 상대 및 절대, ./ (상대),/(루트),/데이터로 가정합니다.JPM의 부가 기능은 <code>{}s</code>없이,

설치 후에도 addon 관리자가 아이콘을 표시하지 못합니다. 나는 install.rdfem:iconURL을 생성하는 jpm을 얻을 수 없다. 그것은 단순히 거기조차 없습니다. jpm을 사용하여 명령 행에 오류가 없습니다. 콘솔에는 오류가 없습니다. 적어도 내가하는 일과 관련이 있다는 것을 분명하게 설명하지는 않습니다. 내가 시도한 것에 대한 데모 용. 실제 작업 예제가 아닙니다. 시도한 각기 다른 형식에 대해 모든 크기 아이콘 (16, 32, 48, 64)에 대해 동일한 형식 URI를 지정했습니다.

package.json (demo snippet):

... 
"id": "{GUID}", 
"name": "my_addon", 
"icons": { 
    "48": "resource://@{GUID}/data/myaddon-48.png", 
    "48": "resource://GUID/data/myaddon-48.png", 
    "48": "resource://@my_addon/data/myaddon-48.png", 
    "48": "resource://my_addon/data/myaddon-48.png", 
    "64": "myaddon-64.png", 
    "64": "/myaddon-64.png", 
    "64": "./myaddon-64.png", 
    "64": "data/myaddon-64.png", 
    "64": "/data/myaddon-64.png", 
    "64": "./data/myaddon-64.png", 
}, 
... 

물론 어떤 MDN 기사에 설명 된 기술의 아무도 없으며, 어떤 SO 대답에

은, 심지어 한 번 일했다. 모든 경우에 Firefox는 시작할 때 인터넷에서 아이콘을 가져옵니다.

XUL에서 (그리고 실제로 추가 기능을 만드는 가장 기본적인 작업 중 하나 인) 사소한 작업은 jpm으로 달성하기가 거의 일치하지 않고 거의 불가능한 것처럼 보입니다. 모든 사람이 약 20 개 중 하나를 맹세하며 도구 또는 브라우저의 특정 버전에서만 작동하는 -30 개의 특정 기술.

마찬가지로 액션 버튼 위젯에서 아이콘을 사용할 수 없지만 별도로 요청할 것입니다. jpm 실행으로 작동하는 것으로 보이지만 jpm xpi로 실행되지는 않습니다.

필자는 서면으로 불과 며칠 전에 git master에서 가져온 jpm 1.0.7을 사용하고 있습니다.

답변

1

내 코드에 문제가 있음을 발견했습니다.

"icons": { 
    ^-- herein lies the problem 

이것은 icon 단수 여야합니다. 파일의 위치를 ​​지정하는 다양한 혼란스러운 옵션이 남아 있지만, 가장 간단하고 깨끗한 (현재는) 작동하는 것으로 보이는 것이 상대 경로입니다.

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

그러자 jpm 스크립트 (LIB/rdf.js : 68-69,92)는 icon 검색된 값의 install.rdf에 적절한 resource:// 라인을 구성한다.

  <em:iconURL>resource://GUID/data/icon-48.png</em:iconURL> 
      <em:icon64URL>resource://GUID/data/icon-64.png</em:icon64URL> 
+0

내 질문에 대한 직접 답변을 선택하지 못했거나 올바르게 대답했는지 기다리고있었습니다. 두 경우 모두 그 대답을 받아들이는 것을 잊었습니다. 이것은 효과가있는 것 같습니다. 문서와 혼동. 알림 주셔서 감사. – user314159

0

Addon 아이콘에 package.json을 사용하지 마십시오. package.json 파일 근처에 icon.png 및 icon64.png 파일을 배치하십시오. File icon.png의 크기는 48x48이고 icon64.png의 크기는 64x64이어야합니다.

+0

간단한 답변 감사합니다. 이것은 효과가있는 것으로 보이며 MDN 페이지의 어느 곳에서도 눈에 띄게 문서화되지 않았으며 비슷한 질문에 대한 다른 답변도 없습니다. 아이콘이 표시되고 인터넷에서 끌어 오지 않습니다. 정확히 예상 한 동작입니다. 왜냐하면 제가 루트 위치에서 접근 할 수 없기 때문에 다른 곳에 동일한 아이콘을 사용하고'/ data' 위치 안에 여분의 복사본을 가져야하기 때문에 성가신 일입니다.또한'install.rdf'에서 생성 된 iconURL이나 icon64URL이 없다는 것은 혼란 스럽습니다. 나는 jpm 소스를 면밀히 검토해야 할 것이다. – user314159