• ベストアンサー

リンクのラベルを取得したい

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

質問者が選んだベストアンサー

  • ベストアンサー
  • agunuz
  • ベストアンサー率65% (288/438)
回答No.1

>#以下のラベルを取得したいのですが 出来ません。そもそもブラウザがサーバに送信していませんので、サーバ側で取得することは不可能です。 ブラウザは#の左側をサーバに要求し、返ってきたhtmlソースに#以降に該当する部分があるかどうかチェックしてページ内を移動させます。

angelinaane
質問者

補足

回答ありがとうございます。 よくわかっていないのですが、 JavaScript・Ajax・jQuery など このあたりを駆使しても取得できないということでしょうか? よろしくお願いします。

その他の回答 (3)

  • mpro-gram
  • ベストアンサー率74% (170/228)
回答No.4

自サイト内のリンクならgetパラメータとアンカーと2重に入れときゃ済むだろう? xx.php?anchor=labelname#labelname 他人のサイトからのアクセスではアンカー取得は不可。 サーバーサイド処理分けのみが目的ならアンカーの使い方間違っている。 リンク書式の違いで処理分けするなら、getパラメータ、または path_info 受け取り側JavaScript処理で済む話なら、php無関係。

angelinaane
質問者

お礼

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

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

>ラベルにより、いろいろ処理を分けたいのです。 そんな無駄なことせずに、普通にGETとかパラメータで渡せばいいんじゃないの? そうじゃなければcookieなどで渡してください

angelinaane
質問者

お礼

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

  • agunuz
  • ベストアンサー率65% (288/438)
回答No.2

>JavaScript・Ajax・jQuery など >このあたりを駆使しても取得できないということでしょうか? 遷移した「あとの」ページのJavaScriptでは、location.hash で受け取れます。が、その時点では遅いのではありませんか? まぁ「それから」hashをAjaxでサーバに送って「何らかのレスポンス」を受け取ってJavaScriptで処理するなら可能でしょう。いずれにしてもanchor要素で呼び出されたphpスクリプトでは(その時点では)取得不可能です。

angelinaane
質問者

お礼

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

関連するQ&A