Safari の拡張機能をいじっています。ユーザーがタブを開いたり閉じたりしたときに拡張機能が応答するようにしたいと考えています。
新しいタブが開いたときに実行され、新しいタブが開いていることをグローバルページに通知するスクリプトを挿入する拡張機能があります。タブが閉じられたときに、スクリプトがグローバル ページにも通知するようにします。これを行うために、注入されたスクリプトでwindow.onbeforeunload
関数を call に設定していますsafari.self.tab.dispatchMessage
。これは機能しますが、問題はタブが閉じられ、メッセージが通過する前に Javascript が強制終了されることです。たとえば、ユーザーが [OK] をクリックするまでタブが閉じないように のalert
後にを配置するdispatchMessage
と、メッセージは正常に処理されますが、これは明らかにユーザー エクスペリエンスがあまり良くありません。
タブが閉じる直前に少し余分な時間を購入する方法はありますか、またはこれまたは何かをオーバーライドするためのより良い機能はありますか?