2012-07-08 4 views
1

XUL 응용 프로그램에 일부 기능을 정의하는 외부 JavaScript 파일이 있습니다. 이러한 함수는 이전에는 작동했지만 이제는 .xul 파일 내에서 이러한 함수를 호출 할 수 없습니다. 내가 잘못한 것을 누군가 볼 수 있습니까?XUL이 자바 스크립트 파일을 참조하지 않습니다.

여기 여기의 chrome.manifest 파일을

content mac chrome/content/ 
skin mac classic/1.0 chrome/skin/ 

있어 내 main.xul 파일의 맨 위에 파일의 맨 위에 참조 된 CSS 파일이 잘 작동하는지

<?xml version="1.0"?> 
<?xml-stylesheet href="chrome://mac/skin/main.css" type="text/css"?> 

<window id="mac-window" 
    title="MAC" 
    persist="screenX screenY width height sizemode" 
    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> 

    <script type="text/javascript" src="chrome://mac/content/main.js"/> 

주입니다. 또한 "text/javascript"를 "application/x-javascript"로 변경해 보았습니다.

여기에 자바 스크립트 파일의 전체 내용이다 :

function exit() { 
    window.close(); 
} 

function toggle_toolbar(menuitem, toolbar) { 

    switch (menuitem.getAttribute("checked")) 
    { 
    case "true": 
     menuitem.setAttribute("checked", "false"); 
     toolbar.hidden = true; 
     break; 
    case "false"; 
     menuitem.setAttribute("checked", "true"); 
     toolbar.hidden = false; 
     break; 
    } 
} 

가이 기능은 다음과 같이 호출되는 :

<commandset id="cmdset-file"> 
    <command id="cmd-toolbar" oncommand="toggle_toolbar(document.getElementById('view-popup-toolbar'), document.getElementById('the-toolbar'));"/> 
    <command id="cmd-exit" oncommand="exit();"/> 
</commandset> 

그리고 두 개의 메뉴 아이템이 두 명령의 ID로 설정 명령 속성을 가지고있다.

Javascript가 XUL 파일에 인라인으로 삽입되면 제대로 작동하지만 자바 스크립트 파일을 참조 할 수없는 것처럼 보입니다. 이것은 오늘 일찍 완벽하게 작동했습니다. 이 작업을 중지하기 전에 일부 탭 상자 숨기기/숨기기 일부 자바 스크립트로 실험하고 있었지만 관련이 있는지 여부는 확실하지 않습니다.

내 자바 스크립트 파일이 작동을 멈추는 이유는 누구에게 알 수 있습니까?

미리 감사드립니다.

편집 : 설명을 위해 XULRunner를 사용하고 있습니다. 또한 .xul 문서의 스크립트 태그 내에서 javascript 함수 중 하나를 호출하려고해도 작동하지 않습니다.

답변

1

-jsconsole 명령 줄 플래그를 지정하여 액세스 할 수있는 XULRunner 앱의 경우 오류 콘솔을 확인해야합니다.

case "false"; 

는,이 줄의 끝에 콜론 없습니다 있어야한다 :

예외 :없는 : 케이스 라벨

후이 라인을 참조하면이 메시지가 표시됩니다 세미콜론. 자바 스크립트 파일에 구문 오류가 있기 때문에로드되지 않습니다.

+0

감사! 내가 못 봤다는 걸 믿을 수가 없어. – ahuth