問題タブ [browser-state]
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 - JavaScript .hashchange のパフォーマンス。それは減速をもたらすことができますか?
私にとっては、現在最も成熟したソリューションのように見えます(間違っている場合は修正してください)。ブラウザのハッシュを操作するためのこのプラグインが本当に気に入っています。場合によっては、js コードが大幅に簡素化されます。
本格的に使い始めたいのですが、質問があります。
ソースに応じて、ループを使用し、50 ミリ秒ごとにハッシュ アンカーが変更されたかどうかを確認します。
パフォーマンスはどうですか?ハッシュチェンジを使いすぎてもいいですか? パフォーマンスが大幅に低下する可能性はありますか? もしそうなら、どのような場合に?
javascript - URL を変更せずに新しい履歴エントリを挿入します。グーグルマップのように
JavaScript アプリケーションで [戻る] ボタンを壊さないようにする最善の方法を見つけようとしています。
私の研究では、最先端技術が何であるかを見ようとしています。そこで、Google マップに目を向けて、それがどのように機能するかを確認しました。
戻る/進む機能はありますが、新しい履歴エントリを生成するときに URL は変更されません。http://maps.google.com/にアクセスし、NY と入力して Enter キーを押します。今すぐ戻るボタンを使用してください。URLの変更はありません。
彼らはどのようにこれを行うのですか?私はそれを理解しようとしましたが、javascript の歴史と IE6 のヒントに関する古いドキュメントを読むのに苦労しています。
ajax - URL のクエリ文字列を変更し、ブラウザの履歴を更新するためのオプションは何ですか?
ページ全体を更新せずに、URL を変更したり、「戻るボタン」に履歴を追加したりする方法はありますか?
私のアプリケーションは AJAX ベースで、履歴に「元に戻す」イベントを追加して、ユーザーが簡単に元に戻して古い値を保持できるようにしたいと考えています。
今日何が可能ですか?これの一部は HTML5 にあると聞いていますが、現在のブラウザーでサポートされているものを確認していません。
javascript - ブラウザの履歴状態を追加するにはどうすればよいですか?
多くの人がjQuery 履歴プラグインiFrame
である隠しハックを推奨しているようですが、私が本当に必要としているのは、この手法の残りの半分だけです。
これらはどちらもうまく機能します。今、私はこれらの2行を添付したいと思います
イベントに、しかし、戻るボタンによって一貫してトリガーされるものはないようです。上記の手法が機能するように、現在の URL を保存するブラウザの履歴状態を追加する方法はありますか?
javascript - Facebookが#を制御する方法!URLで
どうすれば#を制御できますか?URLで私が次のURLを持っていると仮定します
http://www.facebook.com/#!/video/video.php?v=1106030301789
さて、Facebook#!
がURLでそれをどのように制御するか...
browser-state - アクセスキーがいつ押されたかを判断する方法
アクセスキーが押されたことを確認する方法 - javascript (IE、Chrome、Opera、Safari) を使用。FF では document.onkeypress イベントを使用しましたが、Chrome では ALT キーが押されたときにこのイベントは発生しません。
前もって感謝します :)。
php - css が更新されたときにブラウザーに強制的に css をリロードさせる
サーバー上の css ファイルを更新すると、多くのクライアント ブラウザーは、キャッシュされた古い css ファイルを使用してページをかなりの時間ロードし続けます。
多くの投稿を検索し、さまざまなアイデアをまとめた後、最もシンプルで安価なアプローチと思われるものを思いつきました.
css ファイルがリンクされている場合はhref
、次のように、ファイルの最終変更日のタイムスタンプを追加します。
私は CakePHP を使用しているので、レイアウト ファイルで行うことは次のとおりです。
そのため、css ファイルへのリンクには最後に余分なタグがありますが、ファイルが変更されていない限り、同じままです。これは、ブラウザが通常どおりキャッシュできることを意味します。ただし、ファイルが変更されるとすぐにリンクが変更され、ブラウザーはすぐに動きます。
それでも、この方法では、意図しないものに何かを使用することに対して、少し汚れた感じが残ります. メッセージの内容が重要であるという意味で、その存在を識別する以外に、送信されている「メッセージ」は役に立ちません。
ここに私の質問があります:
- クライアントがブラウザーのキャッシュから古いスタイルシート (またはその件については JavaScript) を含む改訂された HTML を表示するリスクがあることを認めることができますか?
- これはハッキングですか、それとも正当な解決策ですか?
- より良い解決策はありますか?
javascript - ハッシュや URL のその他の部分を変更せずに、ブラウザに履歴エントリを追加します。
古いブラウザー (ie8 よりも古いものではありません - pushstate なし) と互換性を保ちながら、ハッシュや URL の他の部分を変更せずにブラウザーに履歴エントリを追加するトリック (iframe を使用して...) はありますか?
奇妙に聞こえるかもしれませんが、この質問の背後にあるロジックは次のとおりです。
私は単一ページのアプリケーションを実行しており、モーダルをポップアップとして取り除きたいと考えています。同じ手法を使用しますが、実際のページの上に div を配置する代わりに、ページ全体を非表示にして、モーダルを表す div のみを表示したいと思います。
これはうまく機能しますが、モーダルがページ全体を取得しているため、ユーザーは戻るボタンをクリックしてアクションをキャンセルし、前のページに戻る傾向があります (モーダルが表示されている間は非表示になっています)。 )。
(ハッシュを変更することで)別のページに移動できることはわかっていますが、宛先はそれ自体のページではなくモーダルにすぎないため、URLを変更したくありません(URLをコピーするのは意味がありませんモーダルを他の人に渡すか、モーダルをブックマークする - ポップアップ内の通常のモーダルと同じように)。
また、ユーザーが (モーダルで) アクションを完了したか、キャンセル ボタンをクリックした場合に、このエントリを削除できるようにする必要があります。
javascript - プッシュされた URL が現在のものと同じ場合、Pushstate が起動しない
私が取り組んでいるサイトの基本的なルーティング機能を構築しました。
受信 URL をチェックしてから、ブラウザーをサイトの適切な部分に送信するという考え方です。
着信 URL がプッシュ先の URL と同じ場合、pushState が起動しないことに気付きました。つまり、行ってdomain.com/journal
も発火しません。URL は、ルーターがプッシュすることになっている URL と同じです: History.pushState({ id: 'journal' }, site.title+' — '+'Journal', site.url+'/journal' );
)。
しかし、domain.com/journal/
代わりに置くと、発火します。何故ですか?
簡素化された宛先コード
web-crawler - BrowserState の履歴と検索での薄いページ
BrowserState 履歴を実装する最善の方法について意見を求めています。
現在の状況、私の e コマース サイトは現在、URL にハッシュを使用して駆動されています。ユーザーが結果を変更するたびに、ページはいくつかのハッシュ値を URL に追加し、結果をリロードします。例えば:
ユーザーがこのリンクを共有すると、表示される結果として正しい結果が表示されます。ただし、現在、私の標準タグは検索エンジンを /products/ に向けているため、ページからクロールされている多くの製品を見逃しています.
これらを正しくクロールするには、次の 2 つの方法があります。
(例 /products/!#button=1&sort=4&cat=2&page=2)
利点: - 製品の URL はクロールされます。短所: - ページ タイトル、メタ ディスクリプション、およびコンテンツが重複します。これにより、コンテンツが重複しているシン ページがクロールされる問題が発生しますか?
- BrowserState の履歴 - https://github.com/browserstate/history.js/
私が使用を検討しているオプションは履歴です。これは、すべてのブラウザー バージョンをサポートするためです。(例 /products/button_1/sort_4/cat_2/page_2/)
利点: 製品がクロールされる、各ページに固有のコンテンツを作成できる、明確な URL 構造 欠点: 薄いページ?
上記のアイデアに関するフィードバックは大歓迎です。
よろしくお願いします