アドオンにダイアログがあり、削除プロセスが完了すると開きます。私はこのようなすべてのメッセージに次のような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>
キャンセルボタンがあり、ondialogcancelハンドラーはtrueを返します。ただし、ボタンを押してもすぐには閉じません。このダイアログを少しドラッグして非表示にする必要があります。さらに、この問題は、アドオンを再インストールした後にブラウザを再起動した場合にのみ発生します。キャンセルを押した直後にもう一度再起動ダイアログが閉じた後。このダイアログを他のいくつかのメッセージに使用しますが、そのような問題はありません。
ポップアップを使用して再起動する代わりに、ウィンドウを閉じてChromebugデバッガーで再度開くと、このバグを再現できません。しかし、別のFFバージョンを起動してから、(デバッガーを使用して)最初のバージョンを再度起動すると、なんとかそれを再現できます。しかし、dialogcancelハンドラーで段階的な実行を使用すると、Chromebugのインターフェイスが応答しなくなり(スクリプトコンテンツ領域を除く)、デバッガーでwindow.close()が実行されていることを確認した後、ダイアログが閉じないため、ダイアログをドラッグする必要がありますそれが消えるようにもう一度少し周りのウィンドウ。私は何をすべきか?