URLにどの要素のIDが記載されているかに基づいて、ページを2つの異なる方法で作成するにはどうすればよいですか?たとえば、URLがwebsite.com/page#id1だった場合、ページは1つのことを行い、それがwebsite.com/page#id2だった場合は別のことを行います。URLにどのIDが記載されているかに基づいて、ページに異なることを行う方法はありますか?
答えて
サーバー側とクライアント側の両方で、答えは「はい」です。
サーバ側の、あなたのURLは、たとえば、あなたが持っているとは異なる構造化する必要があるであろう:
http://website.com/page?id=1
...またはRESTfulなと後者を用いて達成することができる
http://website.com/page/1
をルーティングApacheのmod_rewrite
のようなものです。
PHPコード内のid
値にアクセスするには、$_GET['id']
とし、適切に処理します。
クライアント側では、location.hash
またはlocation.href
を使用してJavaScriptを使用する必要があります。 GitHubは、ナビゲート可能なハッシングで大きな効果を発揮します。あなたは、URLのparamに応じて、ページの読み込みに何かを変更したい場合は、クライアント側は、あなたがJavaScriptを使用する必要があります場合は
URLのハッシュ部分がサーバーに渡されていないため、たとえば、それを行うためのJavaScript。 JavaScriptを「ハッシュ」で
URLの一部がそのような利用可能です:
var hash_part = window.location.hash;
し、それを取得した後、あなたは、たとえばことができます。
- は、AJAX呼び出しによってサーバーに渡します
サーバーにハッシュを渡すページをリダイレクトします。
window.location = '/check_hash.php?hash=' + hash_part.split('#')[1]
またはサーバーをコールする必要がなく、何かの操作を行います:そのような
alert('My hash is "' + hash_part + '", no need to call the server!');
それは助けていましたか?
あなたがPHPを利用したい場合は、次のようなURLのパラメータ届けることができます。
website.com/page.php?do=something
または
website.com/page.php?do=somethingelse
だからではなくPHPにパラメータを渡すために疑問符を使用する必要がありますがあなたの質問で使用したようにハッシュタグを使用するよりも。
あなたは、このパラメータを取得し、その値に基づいて何かを行うことができ、あなたのPHPコードで:
<?php
$param = $_GET['do'];
if ($param == "something") {
//Do something...
}
else if ($param == "somethingelse") {
//Do something else...
}
?>
サーバー側:あなたはid
が持っているかを決定するためにlocation.hash
またはlocation.href
を使用する必要がhttp://www.php.net/manual/en/language.variables.external.php クライアント側あなたのページに送られました。
この
if($_GET["id"] == "test"){
do your stuff
}
例のようにそれを読むことができます。たとえば、
<script>
if (location.hash == 'id1') {
alert('page1!');
}
else if (location.hash == 'id2') {
alert('page2!');
}
</script>
- 1. スレッドIDに基づいてスレッドをロックする方法はありますか?
- 2. 別のページのアクションに基づいて、あるページにテキストボックスを作成する方法はありますか?
- 3. ページのURLに基づいて異なる背景画像
- 4. URLに基づいて異なるMySQLクエリを実行する
- 5. Spotifyの統合ガイドラインに記載されているSpotifyの「Apps Flow」ドキュメントはどこにありますか?
- 6. Webchatのbotframeworkに対話IDが記載されています
- 7. Fullcalendarは、モーダルに記載されている日付に基づいて複数のイベントを作成します
- 8. idに基づいてページ番号を取得する方法
- 9. サブドメインのURLに基づいてget_template_part()を行う方法は?
- 10. liにidに基づいて特定のクラスがあるかどうか確認してください
- 11. 時間に基づいて異なるスクリプトを実行するにはどうすればよいですか?
- 12. IDに基づいてクラウドから来るメッセージに対して異なるDataTemplateを表示する方法は?
- 13. curlがURLに記載されている以外のポートに接続しようとしています
- 14. MSSQLがパラメータセットに基づいて異なるIDを選択しています
- 15. React Native:イメージがURIに基づいて既にキャッシュされているかどうかを確認する方法はありますか?
- 16. どのコントローラがビュー上にあるかに基づいて、さまざまなことを行うボタンクリックをどのように発射しますか?
- 17. クラスIDに基づいてGoogleの翻字を行う方法
- 18. 一致する基準に基づいて行を2列にコピー/ペーストする方法はありますか?
- 19. 巨大なルックアップテーブルに基づいて置換を行うより良い方法はありますか?
- 20. サプライヤIDに基づいてページを分割するにはどうすればよいですか?
- 21. PowerBIで異なるテーブルに基づいて計算カラムを作成する方法はありますか?
- 22. URLに基づいてng-repeatの値が異なる
- 23. このブログに記載されている「アクティベータ」とは何ですか?
- 24. ユーザーログインレベルに基づいて異なるページにリダイレクトするPHPログインページ
- 25. netcore 2.x SDKがインストールされているかどうかに基づいてTargetFrameworkを制御する方法
- 26. Javascriptが有効かどうかに基づいて異なるアプローチを取る方法は?
- 27. IDの変数に基づいて異なる長さの行をマージする方法R
- 28. WebExtensionsにロードされる前のコンテンツに基づいてリソースをブロックする方法はありますか?
- 29. GoogleのディレクトリAPI - ここに記載されているようにウォッチはるかに満了とnotifcations
- 30. divにidに基づいてdivが含まれているかどうかをチェック
このサーバー側またはクライアント側を行いますか? – mrtsherman
のいずれかが問題ありませんが、クライアントサイドでは可能でしょうか。 – Proffesor