問題タブ [window.onunload]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - Page_Loadの後にJavascriptwindow.onunloadが起動します
window.onunloadイベントがpage_loadイベントの後に発生することに気づきましたが、これは意味がありません。
この動作は私にとって問題を引き起こしています-私のアンロードでセッションをクリアするので、アンロードの前に最初にPage_Loadを実行すると、表示されるページにエラーが発生します。
Page_Loadの前にjavascriptonunloadが起動することを期待します....それは正しい仮定ですか?
明確にするために:私がページtest.aspxにいると仮定して、同じページに移動するリンクをクリックします(たとえば、メニューをクリックします)。私が観察するのは、Page_Loadが最初に起動し、次にonunloadが起動することです。まったく意味がありません。
javascript - window.onunload イベントで次に開いているページの URL を取得する
window.onunload イベントで次に開かれるページの場所を取得する方法はありますか。
よろしく、 ケシャブ
javascript - window.onunload は、ブラウザ全体ではなく、Firefox でタブが閉じられたときにのみ起動します
アップデート
したがって、両方の回答を読んだ後、ブラウザー ウィンドウがいつ閉じられたかを判断する信頼できる方法がないことに気付きました。もともと私は、ページが閉じられたときにデータベース内のレコードのロックを解除するためにこれを使用することを計画していました. 基本的に、ユーザーがページをロードすると、アクセスしているレコードがロックされ、ページが閉じられるとロックが解除されます。これを別の方法/より良い方法で行う方法について何か提案はありますか? X ではなく閉じるボタンを使用してフォームを閉じる必要があるという通知をページに投稿することを考えていました。X を使用して閉じた場合、アクセスできるようになるまで、レコードはたとえば 5 分間ロックされたままになります。また。
このコードは、テストしただけなので非常に単純です。基本的に、このページを IE と Chrome で実行すると、アラートは問題なく発生します。Firefox で 1 つのタブのみで実行し、ブラウザ全体を閉じると、アラートは発生しません。ただし、複数のタブがあり、ページを新しいタブとして開き、タブの X を使用して閉じると、アラートが発生します。Firefoxがそこで何をしているのか誰か知っていますか?
onunload を起動するためだけに複数のタブを開く必要があるのは非常に望ましくないため、どんな助けもありがたいです。
javascript - アンロード時にiPhone/iTouchが起動しない(新しい画像)リクエスト
やあみんな、誰かが私を助けてくれることを願っています。
私はクリックを記録するための小さなアプリケーションを作成しています。これは、iPhone/iTouchに到達するまでうまくいきます。私はiTouchでテストしてきましたが、iPhoneでも同じことが起こると推測していることを指摘したいと思います。
私が今持っているのはこれに似たものです、
このコードは、Safariを含むすべてのデスクトップブラウザで機能しますが、iTouch/iPhoneでは機能しません。onunloadプラクティスの外でsave()関数を実行すると、データは問題なく送信されます。アラートにより、onunloadが機能することを知っています。しかし、私はこのインスタンスでは機能していないが、他の場所では機能している画像オブジェクトに完全に困惑しています。私はネット上でよく調べましたが、解決策は見つかりませんでした。
おそらくここの誰かが私にこれが起こっている理由の解決策や説明を与えることができますか?私は非常に感謝されます。お時間をいただきありがとうございます。
javascript - window.onbeforeunload確認ダイアログのキャプチャ結果
以下の Stack Overflow のような確認ダイアログの結果をキャプチャする方法はありwindow.onbeforeunload
ますか (これは、質問を投稿せずに「質問する」ページを離れたときに発生します)。
Chrome ではこのように表示されます。他のブラウザでは少し異なると思いますが、常に何らかの形の yes/no ボタンが表示されます。
おそらく、イベントがトリガーされた後も問題のあるページにまだいる場合、彼らはとどまることを選択し、おそらくjsのシーケンスを見ることでこれを理解できます. ただし、「このページを離れる」をクリックしたかどうかを判断する方法を知りたいですか?
私はこれを以下のように実装しました:
サイト内でjQueryを使用していることに注意してください。
私は本質的にGmailのような下書きの実装を実装しようとしています.ユーザーがフォームを保存せずに変更を加えたページを離れると、同様のダイアログが表示されます. 彼らが変更を破棄してページを離れることを選択した場合、データベースからいくつかの一時レコードをクリーンアップする必要があります (私は AJAX 呼び出しを考えているか、delete
フラグを付けてフォームを送信するだけです)。
私の質問は以下にも関連しています:
手動更新でページを取得した後に起動する onunload ハンドラでの jQuery AJAX 呼び出し。onunload が最初に発生することを保証するにはどうすればよいですか?
javascript - window.onbeforeunload 処理 ok および cancel オプション
window.onbeforeunload
デフォルトのメッセージを生成する関数があります:
「このページから移動してもよろしいですか....」 .
クリックするOKと新しいリンクにリダイレクトされ、押すcancelと同じページにリダイレクトされます。
OK ページを押して離れたときに、ページからデータを保存したいと思います。OKまたはが押されたかどうかを知るにはどうすればよいでしょうかcancel。その後、イベント呼び出しを行い、「OK」/「キャンセル」オプションを続行します。
javascript - ポップウィンドウに関連するJavaScriptの問題
ユーザーが更新できなかったポップ ウィンドウが必要です。そのために私はこれを試しています:
newPage.html
ここで、ブラウザをリロードしようとするとアラートが生成されます。しかし、return false;
動作していません。
Navigation bar
または、新しくポップアップ ウィンドウを表示しないようにすることもできます。
だから助けてください
internet-explorer-9 - アンロードが IE9 および FF4 で機能しない
上記のコードは次のとおりです。ユーザーがブラウザを閉じようとしたときにデータを送信しようとしています。
Onunload メソッドは IE7 と IE8 では機能しますが、IE9 と FF4 では機能しません。アプリケーションは Flex 3.0 SDK に組み込まれています。
ブラウザが閉じているときにデータを確実に送信するソリューションがあり、onunload がすべてのブラウザで一貫して動作する方法はありますか?
javascript - Xボタンとonloadウィンドウイベントでポップアップウィンドウを閉じる
このトピックに関する質問はたくさんありますが、私の状況が解決されていないので、私のシナリオについて説明します。
ポップアップウィンドウがあります。閉じるには 2 つの方法があります。ポップアップ ウィンドウ内の閉じるボタンを押すか、ウィンドウの右上隅にある [x] ボタンを押します。それらはまったく同じ効果があります。x を無効にすることができればそうしますが、それは不要であり、お気に入りのブラウザーですぐに発生することはありません。本質的に、私はウィンドウが閉じられたときにいくつかの後処理を行っており (実際にはセッションのクリーンアップ)、ユーザーを苛立たせるために無限の新しいポップアップ ウィンドウを生成していません。私を信じてください、顧客はこの動作を求めました.
したがって、window.onunload を実行するか、body onunload を実行できます。どちらの方法でも、希望する結果が得られます。ただし、問題を複雑にする 3 つ目のシナリオがあります。ポップアップ ウィンドウ内で、そのポップアップ ウィンドウの内容を変更するフォーム送信が存在する場合があります。この場合、自分のページでどちらを設定したかに応じて、window.onunload または body unload が呼び出されます。これは私が望むものではありません。ポップアップウィンドウが視覚的に見えなくなったときに後処理を実行したい(xまたは閉じるボタン)が、フォームの送信が行われたときにポップアップをこの画面に表示したままにして後処理しないでください。
誰でもこのシナリオについて話すことができますか?
編集: window.onunload をトリガーしないソリューションでの私の試み