たとえば、私はデフォルトでコメントを非表示にします。phpやjavascriptでmysite.com/myaction/#someanchorのようなパラメータを取得する方法
#私が#commentsを見つけたら、私はそれらを見せる必要があることを知っています。
ページ読み込み時にPHPまたはJavaScriptでキャッチすることは可能ですか?
たとえば、私はデフォルトでコメントを非表示にします。phpやjavascriptでmysite.com/myaction/#someanchorのようなパラメータを取得する方法
#私が#commentsを見つけたら、私はそれらを見せる必要があることを知っています。
ページ読み込み時にPHPまたはJavaScriptでキャッチすることは可能ですか?
JavaScriptを使用すると、location.hash
のプロパティにアクセスできます。
window.onload = function(){
alert(location.hash);
}
PHPを使用して、PHPで機能
を実装するためにJavaScriptを使用する必要があると思いますので、あなたがでもparse_url()関数を使用してURLのすべての部分にアクセスすることができ、#commentsビットについて知ることができません http://php.net/parse-url
<?php
$url = 'http://username:[email protected]/path?arg=value#anchor';
$url = parse_url($url);
echo $url['fragment']; // will output 'anchor'
?>
編集: 私の謝罪みんな、私の例が動作し、サーバー側の罰金ですが、URLを生成し、コンテキスト0で正しいですこの質問。フラグメントは私が広範囲に使用するメソッドではありませんが、私は非常に頻繁にparse_urlを使用してすぐに気にします。
この特定の質問にいくつかの付加価値のあるコンテンツを与えるために、私はjQueryを使用して、もともと隠されたコメントを明らかにするタスクに使用します。あなたがそのようなことを探しているなら、使用するのは簡単で滑らかなアニメーションがあります。
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("a.toggleComments").click(function() {
$(".comment").toggle();
return false;
});
});
</script>
<style>
.comment {
display: none;
}
</style>
</head>
<body>
<p>Some text that is shown by default. <a href="#" class="toggleComments">Toggle Comments</a></p>
<p class="comment">A comment paragraph, originally hidden</p>
</body>
</html>
PHPExpertsは、任意のURLの
#fragmant部分は、実際にサーバーに送信されていない...、悲しいことに、間違っています。リクエストを行うときにブラウザは#の後のすべてを取り除きます。
dcauntsの提案は正しいトラックにありますが、実際にはJavaScriptの中でのみ使用できます。
PHPはフラグメントを解析できますが、要求では送信されないため、$ _SERVER ['REQUEST_URI']で使用できなくなります –