- ベストアンサー
リンクのラベルを取得したい
教えてください。 <a href="リンクしたいページのURL#ラベル名">リンク文字列</a> このような書き方がありますよね。 リンク先で、#以下のラベルを取得したいのですが どうすればいいのでしょうか? $_GETでは取得できなかったのですが・・・。 ラベルにより、いろいろ処理を分けたいのです。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>#以下のラベルを取得したいのですが 出来ません。そもそもブラウザがサーバに送信していませんので、サーバ側で取得することは不可能です。 ブラウザは#の左側をサーバに要求し、返ってきたhtmlソースに#以降に該当する部分があるかどうかチェックしてページ内を移動させます。
その他の回答 (3)
- mpro-gram
- ベストアンサー率74% (170/228)
自サイト内のリンクならgetパラメータとアンカーと2重に入れときゃ済むだろう? xx.php?anchor=labelname#labelname 他人のサイトからのアクセスではアンカー取得は不可。 サーバーサイド処理分けのみが目的ならアンカーの使い方間違っている。 リンク書式の違いで処理分けするなら、getパラメータ、または path_info 受け取り側JavaScript処理で済む話なら、php無関係。
お礼
phpとjavascriptをごちゃごちゃに考えてました。 ありがとうございます。
- yambejp
- ベストアンサー率51% (3827/7415)
>ラベルにより、いろいろ処理を分けたいのです。 そんな無駄なことせずに、普通にGETとかパラメータで渡せばいいんじゃないの? そうじゃなければcookieなどで渡してください
お礼
わかりました。 ありがとうございます。
- agunuz
- ベストアンサー率65% (288/438)
>JavaScript・Ajax・jQuery など >このあたりを駆使しても取得できないということでしょうか? 遷移した「あとの」ページのJavaScriptでは、location.hash で受け取れます。が、その時点では遅いのではありませんか? まぁ「それから」hashをAjaxでサーバに送って「何らかのレスポンス」を受け取ってJavaScriptで処理するなら可能でしょう。いずれにしてもanchor要素で呼び出されたphpスクリプトでは(その時点では)取得不可能です。
お礼
よくわかりました。 ありがとうございます。
補足
回答ありがとうございます。 よくわかっていないのですが、 JavaScript・Ajax・jQuery など このあたりを駆使しても取得できないということでしょうか? よろしくお願いします。