2011-11-10 7 views

答えて

5

これらの特定のブラウザイベントがある場合にもjQueryの中でこれを行うことができます

EDIT は使用できません。プライバシーは、ブラウザベンダーが神聖で重要な販売(諺)ポイントを保持するものです。すべてのブラウザで、カムイが技術的な詳細を指摘したページをユーザーが入力したり離したときを知ることができます。

同じサイト内で、CookieとJavaScriptを使用して、いくつかのブラウザイベントトラッキングを実現することができます。

  • バックアクション
    • ブラウザのURL入力:たとえば、ユーザーがハイパーリンクをクリックするとforwardイベントとして、それをラベル付けし、ユーザーがハイパーリンクをクリックせずにページを離れるとき、それはのいずれかの可能性があり天気を追跡
    • Javascriptを置き換えるLOCATION.HREF

    ちょうど直接LOCATION.HREFをchaningのではなく、トラッキングコードとヘルパーメソッドを使用して、あなたはすべてのjavascriptを完全に制御を持っている場合、同様に追跡することができます置き換えるLOCATION.HREF。

    これは、browser url inputback actionのままです。クッキーとリクエストヘッダー(リファラーを取得)を使用すると、forwardbackイベントを見つけることに近づくことは可能ですが、100%ではありませんが、実際的には99%で十分です。

    リクエストヘッダー(リファラー)で、refreshイベントを簡単に特定できます。現在のURLが参照元と一致する場合は、refreshイベントです。

    コードや明確な解決方法はありませんが、私はbackforwardrefreshのイベントを1つのドメインコンテキスト内で追跡するためにできることを説明しました。それを実装するためのすばやく簡単な方法ではありません。私が知る限り、ブラウザのイベントを確実に追跡するフレームワークは存在しません。

    同様のことを達成するためのより一般的な/怠惰な手法は、利用可能なフレームワークが多数あるsingle pageアプリを作成することです。ちょうどgoogle​​しかし、それは私が今に入っていない他の含意とかなり重い解決策です。

    +0

    +1すばらしい要約 – kamui

    1

    することはできませんキャプチャ彼らは、しかし、あなたが使用して歴史の中で、あなたのページを指示することができます(ユーザーがボタンを戻る押したときに、コードのいくつかの部分を実行するなど)

    More about JS History object.

    1

    は@sarfrazあなたは背中と進むボタンクリックをキャプチャすることはできませんが、あなたが、残念ながら、いずれかの戻る/進む/リフレッシュボタンがアクションを実行するためにクリックされたときにトリガされなければならない

    window.onbeforeunload = function(){alert("you just tried to leave the page");}; 
    

    を呼び出すことができます言うように彼らが前進しているのか進んでいるのかは分かりません。ページを終了しようとすると本当に面倒なメッセージが表示されないよう注意してください。それは深刻なプライバシー侵害に対して脆弱なようにあなたはそれ

    $(window).unload(function() { alert("Bye now!"); }); 
    
    関連する問題