QA@IT

スマートフォンサイトで別ページの所定箇所にジャンプする設定方法をどうかお教えください。

6787 PV

スマートフォンサイト(とりあえず、一般的なスマートフォンサイト)で、別ページの所定の箇所にジャンプさせるにはどのような設定にしたらよろしいか教えていただけませんでしょうか。

pcサイトでは以下の設定で可能ですが、スマートフォンサイトでは駄目です。

リンク元
<a rel="external" href="http:xyz.com/page.php#xxxx"><p> xxxx </p></a>

リンク先
<A name="xxxx" id=" xxxx"></A>

回答

どうなったのかも使ったスマホもわからないので「駄目」というのがよくわからないですが、
とりあえずご呈示の htmlの

  • href属性の http: の後に//がない
  • id=" xxxx" に余計な空白が含まれている

のが気になりますのでそちらを修正されてみてはどうでしょうか。

ちなみに以下のリンクでこの回答を頭出ししますが、これもうまくいきませんか?

http://qa.atmarkit.co.jp/q/3658#answer_16534


追記

SafariのiOSで試しておりました。(中略) 別ページにジャンプした際に一瞬所定箇所にジャンプするのですが、その後すぐにそのページの最上段にジャンプしてしまいます。

これはSafariの挙動ではありません(試してみましたが別ページであってもジャンプします)。

例えば以下のリンクは別ページ(本件との関係ない回答へのリンク)ですが頭出しされると思います。
http://qa.atmarkit.co.jp/q/3653#answer_16536

もし現在スマホ用のスタイルテンプレート等を使用している場合、そのOnLoadイベント(javascript)で先頭に戻しているのではないかと思います(読み込み中にスクロールしても先頭に戻してくるスタイルに出会った事あります)。
同じページだとスクロールするというのも、OnLoadイベントはページ読み込み完了時に1度だけ発生するイベントなので同じページであれば既に読み込み済みなのでもう発生しないという事になります。

修正するとなるとスクリプトを直すとかお使いのスタイルテンプレートを変えるとかいった作業が必要になると思います。

編集 履歴 (2)

説明不足で大変もうしわけございませんでした。
SafariのiOSで試しておりました。ご指摘いただいたミスは再設定をしました。具体的現象は別ページにジャンプした際に一瞬所定箇所にジャンプするのですが、その後すぐにそのページの最上段にジャンプしてしまいます。

どうしてもわからないので、同じページで試したところ、問題なく所定箇所に移動するので、同ページで対応しようと思います。

ご連絡いただきましてありがとうございます。

編集 履歴 (0)
  • なるほど、状態はわかりました。その動作自体はSafariの機能ではありません(新規タブが開かれてもきちんとスクロールします)。ここに書ききれなかったので解決策ではないですが原因と思われる部分を回答に追記します。既に別で対処されるとのことですので、もし興味があればお読みください。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。