2009-04-03 5 views

答えて

2

JavaScriptを使用すると、location.hashのプロパティにアクセスできます。

window.onload = function(){ 
    alert(location.hash); 
} 
1

PHPを使用して、PHPで機能

0

を実装するために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> 
+0

PHPはフラグメントを解析できますが、要求では送信されないため、$ _SERVER ['REQUEST_URI']で使用できなくなります –

0

PHPExpertsは、任意のURLの

#fragmant部分は、実際にサーバーに送信されていない...、悲しいことに、間違っています。リクエストを行うときにブラウザは#の後のすべてを取り除きます。

dcauntsの提案は正しいトラックにありますが、実際にはJavaScriptの中でのみ使用できます。