2016-11-29 10 views
0

これを行う簡単な方法はありますか?すべての大きなサイト(Facebook、Google、Instagram)はこの方法を使用します。javascriptを使用してURLに「/ example」を追加する

だから私は何を探していますか? URLに「/ example」という文字列をプッシュする必要があります。そのあと、ブラウザウィンドウをリロードしたりリダイレクトしたりしてはいけません。私はちょうどURLからいくつかの価値を取得し、私のJSコードを働かせたい。私はこのコードのリグを試してみました。

location.href="example";//result: localhost/example 

しかし、問題は、私のブラウザは、いくつかの接続を強制的に開始し、それは私のローカルホストに接続するためにノンストップを試みることをwhileループノー・エンドのようなもので、そこには任意のリロードがあるか、リダイレクト、私のページとどまる。

このようなことを簡単なやり方で行うことは可能でしょうか、今の私にとって大きなものですか?私はもっ​​と多くの例と質問をチェックしましたが、私は答えを見つけませんでした。私の英語のため申し訳ありません

私はあなたがHistory APIを探している私の質問

+2

を見て、だけでなく、古いブラウザは – Alnitak

+0

それを未サポートしていないことに注意してくださいわたしはあなたの質問を理解しましたが、 'location.href = location.href +"/example ";' shoud do it right? – Tchopane

+0

[ページをリロードせずにURLを変更する]の複製があります(http://stackoverflow.com/questions/824349/modify-the-url-without-reloading-the-page) – WirelessKiwi

答えて

0

を理解してほしいです。

はい、あなたはURLや歴史を操作することができますhistory.replaceState({} , 'Example-Title', location.href+'/example');

0

のようなものを試してみてください。達成する必要があることを正確にはわかりませんが、これはあなたにアイデアを与えることができます。

これは通常、フロントエンドフレームワークがURLとルーティングを処理する方法です。 (任意に)状態オブジェクト(現在は無視される)タイトル、URL:

var stateObj = { foo: "bar" }; 
history.pushState(stateObj, "page 2", "bar.html"); 

pushState()メソッド

pushState()は3つのパラメータを取ります。

stateオブジェクト - 状態オブジェクトは、pushState()によって作成された新しい履歴エントリに関連付けられているJavaScriptオブジェクトです。ユーザーが新しい状態にナビゲートするたびに、popstateイベントが発生し、イベントのstateプロパティに履歴エントリの状態オブジェクトのコピーが含まれます。

状態オブジェクトには、シリアル化できるものをすべて指定できます。 Firefoxはユーザーがブラウザを再起動した後に復元できるように、状態オブジェクトをユーザーのディスクに保存するため、状態オブジェクトのシリアライズされた表現には640 KB文字のサイズ制限があります。シリアライズされた表現がこれよりも大きい状態オブジェクトをpushState()に渡すと、このメソッドは例外をスローします。これ以上のスパアアーツが必要な場合は、sessionStorageおよび/またはlocalStorageを使用することをお勧めします。

タイトル - Firefoxは現在、このパラメータを無視していますが、今後このパラメータを使用する可能性があります。空文字列をここに渡すと、メソッドの将来の変更に対して安全です。あるいは、移動している国の短いタイトルを渡すこともできます。

URL - 新しい履歴エントリのURLは、このパラメータで指定します。ブラウザはpushState()の呼び出し後にこのURLをロードしようとはしませんが、後でたとえばユーザーがブラウザを再起動した後にURLをロードしようとする可能性があります。新しいURLは絶対的である必要はありません。それが相対的であれば、現在のURLと比較して解決されます。新しいURLは、現在のURLと同じ起点でなければなりません。それ以外の場合、pushState()は例外をスローします。このパラメータはオプションです。指定されていない場合は、ドキュメントの現在のURLに設定されます。

は、ドキュメントページで詳細を検索: `window.history.pushState`機能のためのMDNに

https://developer.mozilla.org/en-US/docs/Web/API/History_API

+1

私はあなたの関数を使用し、私のURLにいくつかの値をプッシュし、私のjavascriptのコードで私はURLからこの値を取得したい後にいくつかのhtml要素をクリックします。それは何を探しています。あなたの答えは間違いなく機能します!おかげさまで、私はそれについてもっと学ぶつもりです!ありがとう –

関連する問題