dポイントプレゼントキャンペーン実施中!

教えてください。

<a href="リンクしたいページのURL#ラベル名">リンク文字列</a>
このような書き方がありますよね。
リンク先で、#以下のラベルを取得したいのですが
どうすればいいのでしょうか?
$_GETでは取得できなかったのですが・・・。

ラベルにより、いろいろ処理を分けたいのです。

よろしくお願いします。

A 回答 (4件)

>#以下のラベルを取得したいのですが



出来ません。そもそもブラウザがサーバに送信していませんので、サーバ側で取得することは不可能です。

ブラウザは#の左側をサーバに要求し、返ってきたhtmlソースに#以降に該当する部分があるかどうかチェックしてページ内を移動させます。

この回答への補足

回答ありがとうございます。

よくわかっていないのですが、
JavaScript・Ajax・jQuery など
このあたりを駆使しても取得できないということでしょうか?

よろしくお願いします。

補足日時:2014/12/08 12:37
    • good
    • 0

自サイト内のリンクならgetパラメータとアンカーと2重に入れときゃ済むだろう?


xx.php?anchor=labelname#labelname

他人のサイトからのアクセスではアンカー取得は不可。
サーバーサイド処理分けのみが目的ならアンカーの使い方間違っている。
リンク書式の違いで処理分けするなら、getパラメータ、または path_info
受け取り側JavaScript処理で済む話なら、php無関係。
    • good
    • 0
この回答へのお礼

phpとjavascriptをごちゃごちゃに考えてました。
ありがとうございます。

お礼日時:2014/12/10 11:40

>ラベルにより、いろいろ処理を分けたいのです。



そんな無駄なことせずに、普通にGETとかパラメータで渡せばいいんじゃないの?
そうじゃなければcookieなどで渡してください
    • good
    • 0
この回答へのお礼

わかりました。
ありがとうございます。

お礼日時:2014/12/10 11:41

>JavaScript・Ajax・jQuery など


>このあたりを駆使しても取得できないということでしょうか?

遷移した「あとの」ページのJavaScriptでは、location.hash で受け取れます。が、その時点では遅いのではありませんか?

まぁ「それから」hashをAjaxでサーバに送って「何らかのレスポンス」を受け取ってJavaScriptで処理するなら可能でしょう。いずれにしてもanchor要素で呼び出されたphpスクリプトでは(その時点では)取得不可能です。
    • good
    • 0
この回答へのお礼

よくわかりました。
ありがとうございます。

お礼日時:2014/12/10 11:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!