window.open(url)などをトリガーするonbeforeunloadイベントを作成しようとしています。ユーザーがページを離れようとした場合、またはブラウザーを閉じた場合にトリガーされますが、上のボタンのいずれかをクリックした場合にはトリガーされません。ページ。ページのボタンは、JavaScriptを介して同じページにデータを投稿します。
javascript:
window.onbeforeunload = doSync;
function doSync(){
if(doSync == true){
//do sync via popup
window.open("http://mydomain.com/page.php?var=<?php=sync_var?>", "Synchronizing cluster....", "location=0,menubar=0,statusbar=1,width=10,height=10");
}
else {
//somehow do nothing and allow user to leave
}
}
-->
</script>
ボタンは、フォームを作成して送信するjavascript関数を呼び出します。そのjavascript関数で、doSyncのグローバル変数=falseを設定しました。説明のために、この関数の基本的なコードを含めます。
function buttonPush(){
var form = document.createElement('form');
form.setAttribute('method' bla bla
//before submit set dosync to false
doSync = false;
form.submit();
}
現在、 window.onbeforeunload=doSyncで実装されていないエラーが発生しています。声明。
どんな助けでもいただければ幸いです。
ありがとう、
ジム
window.openに何か問題がありますか?私がするならwindow.open('','','height=100,width=100');
正常に開きますが、以下では開きません。
window.open('https://mydomain.com/support/sync_cluster.php?sync_cluster=mycluster','Synchronizing...', 'toolbar=0,scrollbars=0,location=0,statusbar=1,menubar=0,resizable=0,width=100,height=100');