問題タブ [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.

0 投票する
2 に答える
597 参照

jquery - ドロップゾーンはページのアンロードを防ぎます

ファイルのアップロードに dropzone を使用していますが、アップロード中にページがアンロードされないようにしたいと考えています。dropzone を と同期するにはどうすればよいwindow.onbeforeunloadですか?

0 投票する
1 に答える
412 参照

javascript - ページをアンロードする前のカスタム JQuery ダイアログ

ユーザーが現在のページ/フォームから移動しようとしたり、ウィンドウを閉じようとしたときに、[はい]、[いいえ]、[キャンセル] ボタンを含むカスタム jquery ダイアログ ボックスを表示したい。

on beforeload イベントは、デフォルトのブラウザ ダイアログの確認を示します。私はそのダイアログを表示したくありません。

デフォルトのアンロード イベントを防ぎ、カスタム ダイアログを表示することは可能ですか?

0 投票する
1 に答える
307 参照

javascript - キャンセル確認ナビゲーションでコードを実行する

単純な on before unload スクリプトを使用して、ページを離れたいかどうかをユーザーに尋ねています。

キャンセル (ナビゲーション) を押した場合、または確認 (ナビゲーション) を押した場合に関数を実行できる方法はありますか?

ありがとう :)

0 投票する
1 に答える
121 参照

sencha-touch-2 - Sencha touch 2 - ユーザーがある URL から別の URL に移動したことを検出する方法は?

ユーザーがあるページから別のページに移動したことを検出したい Sencha touch 2 アプリを開発しています。javascriptの「onunload」のような関数を呼び出したい。助言がありますか?前もって感謝します。

0 投票する
3 に答える
1611 参照

javascript - window.unload の呼び出し方法

通信には Web ソケット接続を使用しています。しかし、ユーザーがページを更新すると、この Web ソケット接続を閉じたいと思います。また、window.onbeforeunloadイベントを使用して、カスタマイズされたテキストで確認ボックスをユーザーに表示します。ユーザーが「再読み込みしない」オプションを選択した場合、アクションはありません (正常に動作しています)。ただし、ユーザーが再読み込みオプションを選択した場合は、Web ソケット接続を閉じたいと思います。これを達成する方法がわかりません。呼び出しwindow.unloadて、Web ソケット接続を閉じようとしましたが、機能しません。私のコードは次のとおりです。

これを達成する方法を教えてください。

0 投票する
0 に答える
283 参照

javascript - ブラウザーを閉じる前に、Javascript の複数のナビゲーション ボックスを閉じることを確認するポップアップが表示される

数年前、私はひどくリックロールされました。リック・アストリーの名曲「Never Gonna Give You Up」のミュージック ビデオが再生されている Web サイトに移動しました。Web ページを終了しようとすると、確認ダイアログ ボックスが表示され、曲の歌詞の最初の行が表示されました。[OK] を押しましたが、歌詞の 2 行目が別のボックスに表示されました。これは、曲全体を確認するまでループし (多くのダイアログ ボックスが表示されました)、最終的に Web ページを閉じることができました。

Web ページのコードにこのようなものを実装するにはどうすればよいですか?

私はインターネット全体を検索し、HTML および Javascript 内で「onbeforeunload」または同様のメソッドを使用することについて複数のスレッドに出くわしましたが、これに関連するすべての回答では、ユーザーが離れようとしたときに表示されるメッセージを開発者がカスタマイズすることしかできませんでしたサイト。その方法は完全に理解していますが、それは私が探しているものではありません。

他のスレッドで私の質問に答えている人が何人かいますが、その答えは実際には機能しません。多くの人がこれを行うことは不可能だと言いますが、リック・ロールのようなウェブサイトがどのようにしてそのようなことをしたのでしょうか?

ありがとう!

0 投票する
1 に答える
71 参照

javascript - ブラウザは、「アンロード」ハンドラを実行する前に http リクエストを送信します

次のことを発見しました(クライアント側とサーバー側の両方のコードにいくつかのブレークポイントを設定することにより):

ハンドラーがある場合window.onunload、ブラウザーが http-request を新しいページに送信した後に実行されます

  1. 次のページに移動します
  2. ブラウザは http-request を新しいページに送信します
  3. ブラウザーはアンロード ハンドラーを実行し、実行が完了するまでレンダリング プロセスを一時停止します。
  4. 新しいページが表示されます。

Chrome と Firefox の両方でこれをテストしました。

どうして?この奇妙な行動の理由は何だと思いますか?

PS。これを発見した方法は次のとおりです。ajaxを介してデータを保存するアンロードハンドラーがありました。その後、ナビゲートしていた新しいページに、DB からの古いデータがまだ表示されていることがわかりました。これは考えさせられました...

0 投票する
1 に答える
1109 参照

javascript - grails 内のオブジェクトの保存されていない状態の処理

技術的な問題というよりも、おそらく設計上の問題であると思われる問題があります。

これらのクラスがあると仮定します:

ここで、ユーザーが A の b を編集し、新しい b を追加できるページにいるとします。ただし、ユーザーは変更を A に保存する必要があります。そうしないと、すべてが破棄されます。

私の現在のアプローチは、追加の b を作成し、AJAX を介してそれらをレンダリングし、それらの ID をセッション変数に保存して、「保存されていない」b を削除できるようにすることです。

これは非常にうまく機能しますが、一般的なユース ケースの 1 つとして、ユーザーがページを更新する場合があります。

window.onunload-event を使用して、保存していない変更が失われることをユーザーに通知し、AJAX 呼び出しで削除関数を呼び出してセッション変数から b を削除します。残念ながら、b を削除する前に、A コントローラーのインデックス関数が呼び出されます。これは、「保存されていない」b が表示され、その後すぐに削除されることを意味します。これにより、更新を行うか、何らかの形で b が削除されるのを待つ必要があります。

とにかく私がそれを達成しようとする方法が間違っているかもしれません.

問題は、保存関数で作成するためにすべての情報を隠しフィールドに保存する必要なく、破棄される可能性のある新しいオブジェクトを監視するにはどうすればよいかということです。

アップデート:

前にも言ったはずですが、それほど重要ではないと思いました。

B は、次の例のような多くのクラスによって拡張される抽象クラスです。

それに加えて、B には、A の b のセット内の位置を表す整数フィールドがあります。そのために SortedSet を使用できることはわかっていますが、特定の理由により、別のフィールドにする必要があります。これについて言及するのは、ビューがそれぞれを、ドラッグ アンド ドロップで並べ替えることができる並べ替え可能なリストの要素としてレンダリングするためです。

ユースケース: ユーザーはいくつかの childOfB、anotherChildOfB を追加し、必要に応じて並べ替えます。ビューにタイプを保存せずにそれらのタイプを追跡するにはどうすればよいでしょうか。これも悪い習慣だと思いますか?

よろしく