일부 삭제 프로세스가 완료되면 열리는 내 애드온 대화 상자가 있습니다. I는 다음과 같습니다 이러한 모든 메시지 XUL 대화 상자 사용 : 그것은이"닫기"버튼을 누르면 XUL 대화 상자가 닫히지 않습니다.
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://myaddon/skin/Style.css" type="text/css"?>
<!DOCTYPE overlay SYSTEM "chrome://myaddon/locale/mydtd.dtd">
<dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
class="dialog" ondialogcancel="return true;">
<dialogheader id="dlgHdr"/>
<vbox flex="1" id="content" pack="center">
</vbox>
<script
type="application/x-javascript"
src="chrome://myaddon/content/mainScript.js"
/>
<script
type="application/x-javascript"
src="chrome://myaddon/content/dialogInit.js"
/>
<tfs_string id="new-profile-success" value="&newProfileSuccess.Text;"
style="overflow: hidden" />
<tfs_string id="delete-profile-success" value="&deleteProfileSuccess.Text;"
style="overflow: hidden" />
</dialog>
핸들러가 true를 돌려 ondialogcancel, 버튼을 취소 할 수 있습니다. 그러나 버튼을 누르면 바로 닫히지 않습니다. 이 대화 상자를 드래그하여 사라지게해야합니다. 또한이 문제는 addon을 다시 설치 한 후 브라우저를 다시 시작할 때만 발생합니다. 다시 한 번 대화 상자가 닫히면 Cancel을 누른다. 이 대화 상자를 다른 메시지에 사용하고 그런 문제가 없습니다.
팝업을 사용하여 다시 시작하는 대신 Chromebug 디버거를 사용하여 창을 닫은 다음 다시 열면이 버그를 재현 할 수 없습니다. 하지만 다른 FF 버전을 시작한 다음 디버거를 사용하여 첫 번째 버전을 다시 작성하면 다시 제작할 수 있습니다. 하지만 dialogcancel 핸들러에서 단계별 실행을 사용하면 디버거에서 window.close()가 실행 된 후 Chromebug의 인터페이스가 응답하지 않고 (스크립트 내용 영역 제외) 대화 상자가 닫히지 않아 대화 상자를 드래그해야합니다. 창문을 조금 더 벌리면 사라집니다. 어떻게해야합니까?
이 스크립트를 제거하면 어떻게됩니까? 여기에있는 대화 상자는 제대로 작동해야하며 (확장 기능이 설치되었을 때 어떤 의존성도 가지고 있지는 않습니다.) 문제가 'mainScript.js'또는 'dialogInit.js'에있을 가능성이 큽니다. –
다른 대화 상자 사용에는 문제가 없습니다 (예 : 새 프로필 성공 초기화 도구는 모두 메시지 문자열에 대해 다른 매개 변수를 사용합니다). 그리고이 삭제 프로세스 완료 대화 상자는 브라우저를 다시 시작한 후에 제대로 작동합니다 (따라서 addon을 업데이트 한 후 두 번 다시 시작됩니다). –