問題タブ [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.
javascript - 離脱ページを記録するために使用するイベント ハンドラーはどれですか? onunload または onbeforeunload?
javascript を使用してページの回転時間を測定することに関する以前の質問に対する回答がないので、独自のコード (!) を書き始めます。
かかるタイの長さを測定するために、ユーザーがページから離れてブラウジングしたときにタイムスタンプを含む Cookie をドロップし、その後のページでその時間を「現在」と比較し、リクエストを URL に送り返すことを提案しています。間隔を記録します。
コードの最初のブロックを関連付けることができる 2 つの可能なハンドラーがあるようです - onunload() ハンドラーまたは onbeforeunload()?
可能なすべてのブラウザーで移植可能であるよりも、ハンドラーのサポートがない/壊れているブラウザーでサイレントに失敗することがより重要です。
ポインタはありますか?落とし穴?
ティア
C.
javascript - 「確認」を使用して同じウィンドウで新しい URL を開くことは可能ですか?
私はconfirmit Javaスクリプト関数を使用して、肯定的な応答で新しいURLにリダイレクトしています。それは私が望んでいることとまったく同じではありません。
これが何をするかです - onunload は、肯定応答で新しい URL を新しいウィンドウで開きます。これは、ユーザーが知らないうちにポップアップ ブロッカーによってブロックされる可能性があり、何も起こらなかったという印象を与えます。新しい URL を開くと、新しいウィンドウが開き、デスクトップが混雑します。それは素晴らしい解決策ではありません。
やりたいこと- onunload 同じウィンドウで新しい URL を開き、ブロックされる「ポップアップ」として分類されないようにしたいと思います。onbeforeunload....nuthin に切り替えてみました。
簡単な解決策はありますか?
ここに私の現在のコードがあります:
javascript - 外部リンクに必要な OnUnload メッセージ
現在の Web サイトではなく、現在の Web ページを離れたときにのみ表示されるメッセージ スクリプトが必要です。
ユーザーが Web サイトを完全に離れようとすると、メッセージが表示され、現在のページにとどまるには [OK] ボタンを押す必要があります (Web サイトを離れるにはキャンセルします)。
ユーザーが実際に Web サイトに滞在したり、内部リンクやページをクリックしたりすると、スクリプトが実行されない場合があります。
これはできますか?
javascript - クロス ブラウザー ウィンドウのクローズ イベント
重複の可能性:
ブラウザまたはタブを閉じるときにシーションを閉じる /Kills
クロス ブラウザ イベントの解決策はありますか。ユーザーがウィンドウを閉じているかどうかを確認し、データベースに ajax リクエストをスローしてサインアウトする必要があります。
私はすべての人を見てきましたが、ほとんどの場合、すべてのブラウザーで機能するとは限りません。誰にも解決策がありますか?または、これを行う方法の代替案は、おそらくブラウザに応じた条件文ですか?
ありがとう!
javascript - window.onunload イベントで次に開いているページの URL を取得する
window.onunload イベントで次に開かれるページの場所を取得する方法はありますか。
よろしく、 ケシャブ
javascript - ウィンドウのアンロード時にHTML5WebSQLを使用して状態を保存する
Web SQL APIを使用して、ページにいくつかの情報を格納しています。ユーザーがページを閉じたり、移動したりしたときにページの状態を保存したいので、次のように開始します。
ただし、これは非同期であるため、ページが消える前に完了しません。
alert("Saved!");
私はこれを私の最後に(まだ起こっていないので不誠実です)追加することでこれを不十分に解決します。これwindow.onunload
はDBがそのことを行う機会が得られるまでアンロードを遅らせますが、私がそれを避けることができます。
何か案は?関数を呼び出すスレッドをonunload
一時的にブロックする必要があります。これがアラートの機能です。
(ところで、同期openDatabaseSync
バージョンを使用するという提案を回避するために、APIは、Windowオブジェクトではなく、Webワーカーに対してのみ指定および実装されています。)
javascript - アンロードコールバックのウィンドウからwindow.openerにsetTimeout()をアタッチする
私はこれをやろうとしています:
上記の例は、FF、Chromeなどではうまく機能しますが、IE8では機能しません。後者の場合、setTimeout()で指定されたコールバックは起動されないようです。
理論的根拠は、ポップアップウィンドウが閉じられたときに、親ウィンドウ(window.opener)でコードを実行したいということです。私はポップアップがこれに責任があることを望みます、そしてその逆ではありません。
コンセプトが機能することを示すためだけに:
アンロードにバインドされたコールバックですぐにconsole.logを呼び出すと(上記の例のように)、すべてのブラウザーで機能しているようです(ここではIE6を対象としていません)が、ミックスにsetTimeout()を追加するとすぐに壊れます。
出来ますか?スコープの問題ですか?
javascript - JavaScriptでポップアップが閉じられたことを知る方法
このコードは、ポップアップ ウィンドウで go.com を開きます。
ポップアップページが外部ページであり、次のようなコードを変更できないため、alert('closed!')
ポップアップが閉じられ、ポップアップページを編集して使用できないときに、メインページで使用したいonunload="alert('closed!')"
ありがとう。
javascript - 親ページの更新をアンロードする際の IFrame
ページにiframeがあります。iframe が閉じられたら、親ページを更新したいと思います。iframe要素のw3ページをチェックアウトすると、標準イベントがないことがわかります。
親ページにフレームが作成されているかどうかを常に確認し、フレームが削除されているかどうかを確認してから更新するというポーリングのアプローチを検討しましたが、このアプローチはあまり良くありません。ポーリングが頻繁に行われない場合、iframe を閉じてからページをリロードするまでに遅延が発生することがあると想像できます。より頻繁にポーリングすると、ページは「ユーザー エクスペリエンス」(ジャーキネス) に影響を与えます。
iframe の親通信を含まない別のアプローチがあるかどうか疑問に思っています。
javascript - ユーザーをリダイレクトしようとした場合に、新しいタブで iframe ソースを開く
多くの Web サイトが JavaScript コードを使用して、iframe を使用して Web サイトを閲覧できないようにしていることが知られています。iframe を次のように動作させたいと思います。サイトにそのようなコードがなく、ユーザーをリダイレクトしようとしていない場合は、そのコンテンツを iframe に表示する必要があります。ただし、リダイレクトしようとしている場合は、新しいタブで開く必要があります (target="_blank" を含むリンクと同様)。そのようなことを行うために onUnload または他の手法を使用することは可能ですか?
前もってありがとう、
マイケル。