問題タブ [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 投票する
3 に答える
74310 参照

javascript - onbeforeunloadイベントのリンク先URLを取得するにはどうすればよいですか?

私は何時間も検索しましたが、これに対する解決策を見つけることができませんでした。

これは機能しません:

さて、物事をクリアするために。ユーザーがページ自体のリンクをクリックした場合、すべてのリンクのonclickイベントにイベントハンドラーを追加できるため、簡単ですが、ユーザーがブラウザのURLボックスに入力したアドレスを取得したいと思います。

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

javascript - window.onload/onunload と body.onload/onunload の違い

window.onload と <body onload=""/>の質問に対する回答を読みました。window.onloadその Q&A では、多くの人がとbody.onloadが同一であると主張しています。これは私が経験したことではありません。

次の 2 つのテスト ページについて考えてみましょう。

と:

「テスト 1」ページで、ドロップダウン メニューから項目を選択し、リンクをクリックしてページから移動し、戻るボタンを押すと、メニューは初期状態にリセットされます。ただし、これは「テスト 2」ページでは発生しません。なんで?

これはテストですが、私の目標は、RegisterStartupScript または RegisterClientScriptBlock を使用して aspx ページで同様のことを行うことなので、本体の onload/onunload を使用せずに window.onload/onunload を使用して「テスト 1」の動作を再現できるようにしたいと考えています。 .

0 投票する
4 に答える
649 参照

javascript - ページに費やされた時間をサーバーに報告する

訪問者がタブまたはブラウザを閉じてページを離れたときに、ページに費やした時間をサーバーに報告することは可能ですか?Javascriptを使用します。

また、Firefox、Google Chrome、Safari、Opera、IE8で動作します(IE7と6は重要ではありません)。

ただし、どのような場合でも機能します。ブラウザが閉じている間、またはブラウザに別のアドレスが入力されている場合でも。

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

javascript - Javascript/jQuery: jquery を使用して、ページの上部 100%:100% に読み込み固定 div を作成した人はいますか?

javascript の onload および onunloadbody イベントで「読み込み」メソッドを使用することがありました。( www.restaurantebarocortico.com )

今、私は jQuery を学んでいて、$(document).ready&を使用し$(window).unloadて古いイベントを置き換えましたが、アンロード イベントが正しく機能しません。アンロード時に関数を呼び出す別の方法を知っている人はいますか? そして、必要に応じて、アンロードを中断して何らかの効果を実行する方法 (アンロード時にロード div を示す効果を配置するためにこれが必要になります)。

ローディング div の流れ:

  • すべての上に(効果なしで)表示され、中央中央に ajax-loader gif があります。
  • ドキュメントの準備ができたら、jQuery 関数で非表示にします (効果が遅い)
  • ドキュメント/ウィンドウがアンロードされているときは、jQuery関数で表示し(再び効果が遅くなります)、イベントをしばらく中断します(または効果の時間をスリープします)。

ありがとう、ごめんなさい、私の英語:P José Moreira

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

javascript - ドキュメントが完全にロードされた場合にのみJavaScript onunloadが呼び出されますか?

これについては、David Flanagan の「JavaScript - The Definitive Guide」という本 (O'Reilly Answers でもこの質問をしたことがあります)、または他の場所で言及されているのを見たことがありませんが、window.onunload を見つけています。ドキュメントが完全にロードされない限り呼び出されないため、非常に面倒です! 少なくともIE8とChrome 3には当てはまります

Web ページの下部に追加したい Javascript があります。ページが読み込まれる前に (^ 下記参照)、ユーザーがたまたまページから離れてしまい、Javascript が実行される前に、onunload でそれをトラップしたいと考えていました。しかし、onunload イベント ハンドラーはドキュメントが完全に読み込まれたときにのみ呼び出されるため、これは不可能です。onunload を使用できない場合、同じことを達成するために他に使用できるものはありますか?

^ 「Javascript - The Definitive Guide」では、ページが読み込まれるまで、ユーザーによるページとの対話は発生しないことが示唆されています。これは間違っていると思います。本の内容は次のとおりです。

) そして、そのようなイベント ハンドラーがまだ解析されていないドキュメントの一部を操作しようとすると、失敗します。このシナリオは実際にはまれであり、積極的に保護するために余分なコーディング作業を行う価値は通常ありません。」 (第 5 版、256 ページ)

IE8 でテストを実行したところ、ページの読み込み中のどの段階でも、ページとやり取りできる (そしてアンカー リンクを介してページを離れることができる) ことが示されました。

助けてくれてありがとう、ポール

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

javascript - Javascriptonunloadフォームの送信がデータを送信していません

onunload現在、ユーザーがイベントを通じて呼び出された関数を使用してページを離れるときに、ユーザーが未送信の変更を持っているかどうかを確認するフォームがあります。関数は次のとおりです。

そして、ここにフォームがあります:

ここで何が間違っているのかわかりません。フォームの送信ボタンを押すだけで、データが送信されてデータベースに保存されます。ただし、onunloadイベントを通じてフォームを送信しようとしても、私が知る限り、何も保存されません。onclick送信ボタンにアラートを追加onsubmitし、フォーム要素にアラートを追加しようとしましたが、送信ボタンがトリガーされ、フォームが送信されることを確認できます。ただし、データベースに保存されているものは何も渡されません。私が間違っていることについて何か考えはありますか?

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

c# - C# WebPages : Exit イベントを管理するか、サーバー側でユーザー アクションなしで終了します

ユーザーが何もせずに他のページに移動したときに、Exit または Quit イベントを管理するためのより良い解決策は何ですか? このイベントは一度だけ発生させる必要があり、このページの放棄後に保存されていないすべての一時ファイルまたはデータを削除するのに役立ちます。サーバー側のクリーニング方法として最適です。ありがとう。

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

javascript - IEのjavascriptのonunloadイベントでページのアンロードの理由を取得するにはどうすればよいですか?

ページのアンロードにはさまざまな理由が考えられます
。1ユーザーが現在のウィンドウを閉じます。
2ユーザーが別の場所に移動します。
3 [戻る]、[進む]、[更新]、または[ホーム]ボタンをクリックします。
4ユーザーがフォームを送信すると、ブラウザは現在のページのアンロードとフォーム送信の結果を含むページのロードを開始します。(現在のウィンドウがフォームのターゲットであると想定します)。
5など...

onunloadハンドラーで、アンロードの理由がp.4、つまりフォーム送信の結果を含むページに移動することをどういうわけか知ることができますか?
フォームを送信するときにフラグを定義することはできますが、これでは問題は解決しません。Webサーバーからの応答(フォーム送信時)には時間がかかるため、ブラウザーは現在のページをすぐにアンロードせず、サーバーからの応答を待ちます。そして、この待機中、ユーザーはウィンドウを閉じたり、どこにでも移動したりできます。そして、それが実際に結果ページに移動したのか、それとも他の何かに移動したのかを知る必要があります...?

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

javascript - onunloadconfirmが同じウィンドウで新しいURLを開くことは可能ですか?

これは私の最初の投稿であり、私はJSの初心者なので、私の無知を許してください...

ここに私の質問があります、それは2つの部分に分かれています:

1.)onunload関連するURLにアクセスするかどうかをユーザーに尋ねるアラートが必要です。私が使用しているコードは機能しますが、新しいウィンドウでURLが開き、ユーザーがオプトインしている場合でも、ポップアップブロッカーによってブロックされる可能性があります。同じウィンドウで開いてポップアップブロッカーを無効にする方法はありますか?

2.)onunload関数をbodyタグから取り出して、スクリプトに入れる方法はありますか?

これが私が使用しているコードです:

前もって感謝します、

ダン

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

php - onunloadイベントなしでサイト内ナビゲーションに応答してデータの保存を処理するための推奨されるアプローチはありますか?

私の質問をスコープするための前文:

jQueryとAJAXを広範囲に使用してUIのコンテンツセクションをブラウザーに動的にロードするWebアプリ(またはサイト、これは内部LANサイト)があります。ユーザーは、ナビゲーションメニューを使用してアプリをナビゲートします。ナビゲーションメニューの項目をクリックすると、phpがAJAXで呼び出され、phpは中央のコンテンツセクションに入力するために使用されるコンテンツを返します。

phpによって提供されるページの1つには、ユーザーが値を入力するスプレッドシートのように設定されたテーブルフォームがあります。このテーブルは、データベース内のデータと常に同期しています。したがって、テーブルが作成されると、関連するデータベースデータが入力されますか。次に、ユーザーが「セル」に変更を加えると、その変更はすぐにデータベースに書き戻されるため、テーブルとデータベースは常に同期されます。このアプローチは、入力したデータが保存されていることをユーザーに安心させ(長い話...)、ある種の保存ボタンをクリックする必要がないようにするために採用されました。

したがって、これは常に同期するという考え方が優れています。ただし、ユーザーはセルに値を入力し、セルからフォーカスを外すのではなく、最後の値が失われる原因となるアクションをいくつでも実行できます。ナビゲーションメニューを介してサイトの別のセクション、アプリからログアウト、ブラウザを閉じるなど。

前文の終わり、問題について:

最初は、どのデータが「ダーティ」であるか、または保存されていないかを追跡するだけなので、それは問題ではないと思いました。その後、onunloadイベントで、データベースへの最終書き込みを行いました。ここに問題があります:私の賢い(またはそれほど賢くない、わからない)AJAXの使用とコンテンツセクションの動的な読み込みのため、上記のアクションが実行されたときに、ユーザーが実際に元のURLまたはページを離れることはありません。ブラウザを閉じます。したがって、onunloadイベントは発生せず、最後のデータが再び失われます。

私の質問ですが、コンテンツがこのように動的に読み込まれるときに、人がアプリの「セクション」から離れて移動しているかどうかを把握するための推奨される方法はありますか?

グローバルと現在表示されているページの追跡を含む解決策を思いつくことはできますが、もっとエレガントな解決策があるかどうか、またはデザインに変更を加えることができるかどうかを確認すると思いました。この作品。

いつものようによろしくお願いします!