問題タブ [browser-history]
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 - ie7 は、アンカー (ハッシュタグ) が異なるページを 2 つの異なるページとして認識しません (したがって、履歴は機能しません)。
いくつかの ajax 履歴動作の開発の一環として、私は奇妙なことに遭遇しました: (私の) ie7 は、異なるアンカー (ハッシュタグ) を持つページを 2 つの異なるページとして認識しません。その結果、戻るボタンを使用すると、ie7 は以前のすべての URL をスキップします (ハッシュタグのみが異なります)。
たとえば、次の項目をこの順序で参照したとします。
- www.google.com
- www.mysite.com/index#ajax1
- www.mysite.com/index#ajax2
- www.mysite.com/index#ajax3
www.mysite.com/index#ajax3 で戻るボタンを押すと、www.google.com に戻ります
私は本当にこれに頭を悩ませています。私の正気を確認するために、アンカーを使用していくつかのランダムなページをテストし、アップをロードしましたが、実際には同じ問題が発生しました。
私が知る限り、これは予期された動作ではありません (他のすべてのブラウザー (chrome、ff、safari) は問題なく動作することがテストされています。ここで明らかな何かが欠けているのでしょうか、それとも ie7 のインストールが台無しになってしまったのでしょうか?
parsing - Adobe AIRまたはその他のツールを使用して、ブラウザーの履歴を読み取る方法はありますか?
まず第一に、私はハッカーではありません:)
特定のサイトグループにアクセスすると、ユーザーにポイントを付与するプロジェクトを実施しています。明らかにプライバシーに関する大きな懸念がありますが、作成したプログラムが履歴を確認し、アルゴリズムを介してサイト/ユーザーをランク付けできる限り、実際にそれらがどこにあるかを知ることには関心がありません。
これはダウンロード可能なアプリケーションであり、透明性が不可欠であるため、ユーザーにどのように機能するかを伝えます。
さて、それを念頭に置いて、ローカルプログラムがブラウザのキャッシュ/履歴にアクセスし、それからリストを作成する方法はありますか?
FirefoxがSQLiteを使用して履歴をコンパイルしていることを読みました。履歴は、AdobeAIRを使用して解析できる可能性があります。同時に、Adobe AIRはファイルシステムにアクセスできるため、通常のIE一時フォルダーにファイルが保存されているかどうかを確認できる可能性があります。もしそうなら、それらがダウンロードされたURLを読んでみてください?
私はこれらすべてが非常に危険に聞こえることを知っていますが、心を開いておくようにしてください:)
よろしくお願いします。
google-chrome - Chrome は、ブラウザの履歴で使用する非表示のフォーム フィールド値をキャッシュしません
テキスト ボックス フィールドと非表示フィールドの両方を含む ASP.Net Web フォームがあります。隠しフィールドの値は、クライアント側の JavaScript を使用して動的に変更されます。フォームの投稿、値の検査、別のページへのリダイレクトはすべて期待どおりに機能しています。
ただし、ブラウザーの [戻る] ボタンを使用して前のページを表示すると、すべてのフォーム フィールドに投稿された値がまだ入力されていることがわかります。
IE と Firefox では、これはテキストと非表示の入力フィールドの両方に当てはまります。
Chrome では、これはテキスト フィールドの場合のみです。非表示フィールドの値は失われます。
ブラウザの履歴をナビゲートするときに、Chrome が動的に設定された非表示のフォーム フィールド値を再入力しないというのは本当ですか?
問題を示すために小さなサンプルをまとめました。必要に応じて提供できます。最初に質問をして、これがよく知られている動作であり、受け入れなければならないものかどうかを確認したかった.
javascript - ページを離れずにブラウザに表示されるURLを変更する方法
JavaScriptを使用してブラウザのURLを変更することはできますが、ページを離れることはできませんか?
jsp - ログアウト後にユーザーが以前にアクセスした保護されたページを表示できないようにする
ログアウト/サインアウト後に、エンド ユーザーが制限されたページに戻れないようにする必要があります。しかし現在、エンド ユーザーは、ブラウザーの [戻る] ボタン、ブラウザーの履歴にアクセスすること、またはブラウザーのアドレス バーに URL を再入力することによって、それを行うことができます。
基本的に、サインアウトした後、エンドユーザーが制限されたページにアクセスできないようにする必要があります。どうすればこれを最高に達成できますか?JavaScript で戻るボタンを無効にすることはできますか?
javascript - ブラウザの履歴を管理する賢い方法
AJAX アプリケーションでまともなナビゲーションを実装しようとしています。私が今していることは次のとおりです。
- ユーザーが AJAX リンクをクリックするたびに、対応する呼び出しが実行され、ハッシュが変更されます。
- 新しいページが読み込まれるたびに、ハッシュが存在するかどうかを確認し、対応する AJAX 呼び出しを行ってページを更新します。これにより、ブックマークが期待どおりに機能することが保証されます。
- 500 ミリ秒ごとに、ハッシュが変更されているかどうかを確認し、対応する AJAX 呼び出しを実行します。これにより、わずかな遅延はありますが、ユーザーが戻る/進むボタンを押しても処理されます。
3 番目の点は少し厄介です。ハッシュをチェックするためだけに 500 ミリ秒ごとにタイムアウトを設定したくありません。
これを管理するより良い方法はありますか?代替案は思いつきませんが、何かが足りないのかもしれません。
別のメカニズムに基づいていることがわかっている場合を除き、既製のソリューションに私を向けないでください.
jquery - window.history.pushStateとフォールバックを使用したクロスブラウザーjqueryajax履歴
クロスブラウザ方式でjQueryとAJAXを使用してナビゲーション履歴を実装したいと思います。私のアプローチは、をサポートしていないブラウザでwindow.history.pushState
ハッシュURLを使用してフォールバックすることです。/#!/url
window.history.pushState
例えば:
をサポートするブラウザでwindow.history.pushState
は、これらのリンクのいずれかをクリックすると、ページを更新せずにアドレスをhttp://domain.com/home、http://domain.com/aboutなどに変更する必要があります。ブラウザがサポートしない場合はwindow.history.pushState
、を使用する必要があります。フラグメント識別子、つまり:http ://domain.com/#!/home 、http ://domain.com/#!/about 。
更新:ここでのフィードバックに基づいて、古いブラウザーのフォールバックでHTML5 HistoryAPIのjQueryアドレスを使用するAjaxSEO(git)を
実装しました。/#!/url
javascript - Ajax履歴のポーリングと非表示のiFrame
バックグラウンド
URL のハッシュ変更の検出と、進む/戻るボタンの修正は、Ajax の履歴を扱うライブラリの 2 つの要件です。これらのライブラリを実装するための 2 つの考え方があります。ポーラーに常に URL をチェックさせることができます (悪いブラウザには onHashChange イベントがありません)。または、非表示の iFrame を使用して、ブラウザーの履歴にポイントを追加することもできます。非表示の iFrame はポーリングよりも優れていると考える人もいるかもしれませんが、非表示の iFrame は外部ブラウザーの URL を更新しません。したがって、ユーザーが Web アプリケーションで現在の状態を共有したい場合は、常に初期状態を共有することになります。
質問
ポーリングを必要とせず、メイン ブラウザの URL を更新する Ajax 履歴の手法はありますか?
url - IUrlHistoryStg2::ClearHistory() はサービスから機能しませんか?
IUrlHistoryStg2::ClearHistory() メソッドは、ユーザーごとに文書化されています。
http://msdn.microsoft.com/en-us/library/aa767715(VS.85).aspx
SYSTEM アカウントで実行されているサービスから呼び出すと、特定のログオン ユーザーをターゲットにすることができません。WindowsIdentity.Impersonate() を介してユーザーの偽装に成功しましたが、ClearHistory() への呼び出しは成功に対して常に 0 を返しますが、ユーザーの履歴はクリアされません。
これは XP と Win7 の両方に当てはまるため、セッション分離の問題ではないようです。
おそらくそれは COM であるため、偽装するときに呼び出し元のスレッド トークンではなく、呼び出し元のプロセス トークンを見ていますか?
ユーザーのなりすましが単にこの方法の成功につながらないのはなぜですか?
javascript - jQuery履歴プラグイン
そこにはいくつかの異なるjQuery履歴プラグインがあり、他のプラグインよりも優れています...
私はどちらを使うか、考えや他のことを試すかを決めようとしています: