- ベストアンサー
PHPでの値受け渡しとアンカーの同時使用方法について
- PHPでのデータベース連携ページ作成中に、値受け渡しとアンカーを同時に使用したい場合の方法を教えてください。
- 左右に分かれたページで、左側の目次をクリックすると対応する内容が右側に表示されるページを作成中ですが、右側に表示される文章が下の方に表示されていて、目次をクリックするたびにスクロールしなければなりません。
- この問題を解決するために、同じページ内にアンカーを作成し、目次をクリックするとアンカーに飛ぶようにしたいのですが、うまくいきません。同じページ内で値受け渡しとアンカーを一緒に使用する方法があれば教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
クエリとフラグメントの順が逆 index.php#tag?name=a → index.php?name=a#tag [quote cite="http://www.studyinghttp.net/rfc_ja/rfc3986#Sec3 "] ・path は、最初の疑問符 ("?") か数字記号 ("#") の文字、あるいは URI の終わりによって終結する。 ・query 構成要素は、最初の疑問符 ("?") 文字によって始まり、数字記号 ("#") 文字、あるいは URI の終わりによって終結する。 ・fragment 識別子構成要素は、数字記号 ("#") 文字の存在によって表され、URI の終わりによって終結する。 fragment = *( pchar / "/" / "?" ) fragment 識別子の意味論は、主要リソースへの取得動作から生じるであろう表現の集合によって定義される。 従って、fragment の形式と解決は、例えその URI が逆参照される場合にのみ、そのような取得が実行されるとしても、取得されうる表現のメディアタイプ [RFC2046] に依存する。 そのような表現が存在していなければ、fragment の意味論は未知であるとみなされ、事実上制限されない。 ... スラッシュ ("/") と疑問符 ("?") 文字は、fragment 識別子内でデータを表す事ができる。いくつかの古い、エラーのある実装では、それが相対的参照 (Section 5.1) の基底 URI として使用される場合、そのようなデータを正しく扱わないかもしれない事に注意せよ。 [/quote] 「 #tag?name=a 」のように tag の後にクエリを置いた場合、「tag で示される部分集合に」データとして渡されるようです。(X)HTML に限れば、Fragment(#以降)は ID または、NAME なので、クエリ("?" 以降)を指定した場合の動作は不定、ブラウザによりけりだと思います。(未検証) cf.) http://www.w3.org/TR/xhtml1/#C_8
お礼
迅速な回答ありがとうございます! 無事に解決しました!!! なるほど、逆だったのですね・・・。 この書き方だと気持ち的に「a#tag」を渡してしまいそうで試していませんでした>< おかげさまで本日作業ができます! 本当にありがとうございました!!