2011-09-16 3 views
3

내가 진행중인 프로젝트 중 하나인데, DOM Inspector를 사용하여 Firefox 확장 기능을 디버깅해야합니다.기존 Firefox 부가 기능 편집하기

DOM inspector의 문제점은 코드 아래에 브라우저 만 표시된다는 것입니다. 브라우저를 분리하거나 코드 섹션이나 브라우저를 나란히 놓을 방법이 없습니다.

내가 디버깅 한 플러그인에 큰 xul 오버레이가 있었고 문제가있는 영역이 botton에 있었기 때문에이 영역에서 코드를 볼 방법이 없습니다. .

그래서 DOM Inspector 자체를 수정하여 브라우저를 코드 편집기의 측면에 배치하기로 결정했습니다.

는 여기에 내가 착수 단계는 다음과 같습니다

  1. 프로파일 디렉토리에서 기존의 XPI 파일을했다.
  2. 지퍼로 변경되었습니다.
  3. 내부 가서
  4. jar -xf <filename>inspectorOverlay.xul 갔다하며 hbox가 될 <vbox id="bxInspectorMain"> 변경하여 inspector.jar 추출 하였다. (이 두 윈도우를 수평으로 배치하기에 충분해야합니다.)
  5. 그런 다음 jar cf을 사용하여 jar 파일을 다시 만들었습니다.
  6. 디렉토리가 압축되어 있고 이름이 동일하고 확장자가 xpi로 다시 변경되었는지 확인하십시오. 나는 그것을 실행하려고하면

그러나, 나는 다음과 같은 경고를 얻을 :

Warning: WARN addons.xpi: Add-on is invalid: [Exception... "Component returned failure code: 0x80520006 (NS_ERROR_FILE_TARGET_DOES_NOT_EXIST) [nsIZipReader.getInputStream]" nsresult: "0x80520006 (NS_ERROR_FILE_TARGET_DOES_NOT_EXIST)" location: "JS frame :: resource://gre/modules/XPIProvider.jsm :: loadManifestFromZipReader :: line 740" data: no] 
Source File: resource://gre/modules/XPIProvider.jsm 
Line: 740 

Warning: WARN addons.xpi: Could not uninstall invalid item from locked install location 
Source File: resource://gre/modules/XPIProvider.jsm 
Line: 2042 

내 질문입니다 - 내가 일반적으로 제대로 해석 할 XPI 있도록해야합니까 다른 어떤 변화?

+0

가능한 중복 ([가능 설치 한 후 파이어 폭스 애드온을 수정?/편집하는 것입니다] https://stackoverflow.com/questions/1054570/is-it-possible-to-edit-modify -the-firefox-addons-after-installing) –

답변

6

디렉토리 이름을 동일하게 만들고 확장자를 xpi로 다시 압축하여 디렉토리를 압축합니다.

이 단계에서 뭔가 잘못했다고 생각합니다. source code에서 메시지는 updateMetadata() 메쏘드에서 온 것입니다 - Firefox가 파일이 바뀌 었음을 감지하고 install.rdf에서 다시 읽으려고 시도합니다. 그 파일은 XPI 파일의 최상위 레벨에 있어야하지만, 귀하의 경우에는 찾을 수 없습니다. 파일을 다시 포장 한 후 install.rdf이 더 이상 최상위 수준에 있지 않을 수 있습니다. 당신은 unzip 명령으로 테스트 할 수

unzip -l [email protected] 

그것은 install.rdfchrome.manifest을 포함한 XPI 파일의 내용을 표시해야합니다 - 어떤, 첨가 된 디렉토리 이름없이.

+0

당신이 정말로 옳았습니다. 압축했을 때 실제로 같은 이름의 새로운 zip 파일을 만들었습니다. 디렉터리 만 압축하면 올바르게 인식됩니다. 물론 브라우저는 여전히 바닥에 있지만 다른 이야기입니다 :) 감사합니다! – Lukich

3

@ 루카, 나는 블라디미르 팔란트가 정확하다고 생각합니다. 기존 프로젝트의 소스 코드 수정 중 오류를 피하려면 작업 환경에서 작업 할 것을 제안합니다.

  1. 는 FF 프로필에서 신 코드를 추출 설치 XUL 부스터 (project/docs)
  2. 이클립스
  3. 를 설치

    제안 된 방법은 소스 코드를 편집 할 수 있습니다.

  4. .Zippy 파일 (FF 확장자)을 추출한 것과 정확히 일치하는 주 폴더 및 하위 폴더의 이름을 확인하십시오.
  5. Eclipse에서 XUL 부스터 환경하에 새 프로젝트를 만듭니다. FF 확장 메인 폴더 및 하위 폴더와 동일한 이름을 사용하십시오.
  6. 그런 다음 압축을 푼 파일을 Eclipse의 XUL 프로젝트에 복사하십시오.
  7. & 코드를 .XPi 파일로 추출하고 FF 브라우저에 설치하십시오.

이 방법이 모든 것이 자동으로 분류되기 때문에 오류의 종류를 피할 수 있습니다 (크롬 폴더, 매니페스트, install.rdf를을 등 다이를했다).

참고 : FF 확장 프로필 폴더에 환경을 설정하여 소스 코드 및 FF 브라우저를 수정하는 고급 방법이 있습니다.

  1. 박쥐 파일을 만들고 프로젝트 폴더 경로를 찾고 확장 ID를 FF 확장 프로필 폴더에 입력하십시오. (guide)
관련 문제