mozilla
검색 결과

    Extension Frequently Asked Questions

    디버깅

    확장기능을 디버깅하기 전에development preferences 를 올바르게 설정하시기를 권장합니다.

    자바스크립트 디버거인 Venkman은 복잡한 디버깅 상황에서 유용한 디버거가 되어 줄 것입니다. 디버깅 하실 때, "Debug -> Exclude Browser Files" 옵션이 활성화 되어 있지 않아야 합니다.

     

    어떻게하면 코드내 에러를 볼 수 있을까?

    preference 의 javascript.options.showInConsole옵션이 true 값이 되도록 설정하시면, 모든 종류의 에러 메시지는 자바스크립트 콘솔을 통해서 보고될 것입니다.

    어떻게하면 확장기능이 제대로 동작 하는지 확인할 수 있을까?

    alert() 이나 dump() 함수, 또는 nsIConsoleService를 사용하실 수 있습니다.

    왜 내가 만든 스크립트는 제대로 동작하지 않을까?

    만약 스크립트가 예상대로 동작하지 않는다면, 자바스크립트 콘솔의 에러 메시지를 확인해 보시기를 권합니다. (어떻게하면 코드내 에러를 볼 수 있을까? 위에 있음)

    한가지 흔한 실수는 윈도우가 완전히 로드되기 전에, 윈도우에 있는 DOM에 접근하려고 하는 것입니다. 이러한 실수는 초기화 코드가 스크립트내의 상위 레벨에서(다른 말로하면, 함수 밖에서) 실행될때 발생합니다. 이를 찾아내기 위해서는 윈도우가 완전히 로드될때까지 특정 부분의 코드가 실행되지 않도록 해주는 load event listener를 사용하시기 바랍니다.

    function exampleBrowserStartup(event)
    {
      // place your startup code here
    }
    window.addEventListener("load", exampleBrowserStartup, false);
    

    웹페이지에 있는 문서를 읽어들일 수 없을 때

    browser.xul 오버레이로 부터 현재 웹페이지의 문서를 가져올 때, 브라우저의 윈도우 문서를 읽어오도록 하는 document 를 사용하는 대신에 브라우저의 윈도우 내에 포함되어 있는 문서를 읽어오도록 하는 content.document 를 사용하시기 바랍니다. 보다 자세한 내용은 Working with windows in chrome code 에서 확인하실 수 있습니다.

    또한, XPCNativeWrapper는 기본적으로 웹페이지에 있는 script-defined 객체에 접근하는 것과 그 외 다른 것들을 하지 못 하도록 방지해 줍니다.

     

    XML 파싱에러가 났지만, 파일에 문제가 없어 보일 때

    일반적으로 파싱에러(붉은색 문구와 붉은색 밑줄-------------^로 표시됨)는 XML에서 의미있게 사용되는 특정한 문자나 속성 값이 소스코드내에서 잘 못 사용됐을 때 발생합니다. 예를들면,

    <button oncommand="window.open('http://example.com/q?param1=value&param2=val2')"/>
    

    또는,

    <script>function lesser(a,b) { return a < b ? a : b; }</script>
    

    이러한 문제는 다음과 같은 방법으로 해결될 수 있습니다.

    1. 에러가 발생한 문자를 XML에서 특정한 의미로 사용되지 않는 표현으로 바꾸십시오. (예: "&" -> "&amp;", "<" -> "&lt;")
    2. (만일 텍스트 노드라면, 이를테면 스크립트) CDATA 태그로 텍스트 노드를 에워싸십시오:
      <script><![CDATA[
         function lesser(a,b) {
           return a < b ? a : b;
         }
       ]]></script>
    3. 스크립트를 다른 파일로 저장한 후, 이를 포함시키도록 하는 코드를 삽입하십시오:
      <script type="application/x-javascript" src="our.js"/>

     

    예제 코드

    무엇인가 유용한 동작을 구현하기 위해서 필요한 코드가 있다면, 가장 쉬운 방법은 이미 그러한 동작을 구현한 확장기능 (또는 Mozilla의 일부분)을 찾아내어 살펴보는 것입니다. (XPI와 JAR 파일은 ZIP 포멧을 사용합니다.)

    이와 관련된 문서는 the list of extension-related articles on MDCExample code page on MozillaZine에서 찾아 보실수 있습니다.

     

    도움을 얻을 수 있는 곳

    Extensions:Other ResourcesExtensions:Community를 꼭 읽어 주십시오.

    도움을 청하시기 전에, 디버깅자바스크립트 콘솔의 내용을 읽어주십시오. 또한, 질문을 하시기 전에, 질문에 대한 간단한 검색을 해주실 것과 자주묻는질문(FAQ)을 읽어주시길 부탁드립니다.

    문서 태그 및 공헌자

    태그: 
    Contributors to this page: teoli, Husylvan
    최종 변경: teoli,