こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

スマホでページ内リンクができない

いつもお世話になっております。
表題のとおり
スマホでページ内リンクができません。
レスポンシブのWEBサイトを作っており、
PCでは遷移します。

例えば
http://abcd.com/hogehoge#abc

とすると
http://abcd.com/hogehoge

と表示されてしまいます。
手打ちで
http://abcd.com/hogehoge#abc
と入力すると、正しく遷移するのですが、

分かる方いらっしゃいましたらご教授お願い致します。

投稿日時 - 2014-03-15 20:24:48

QNo.8515213

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

13人が「このQ&Aが役に立った」と投票しています

回答(3)

何らかのfremworkを利用していませんか?・・・
たとえば、JQueryMobileとか???

PCでは動作するが、Mobileでは、うまくいかない場合、階層が深い場合によくあります。
JQueryMobilでは2階層までしか、うまくいかない!

どうするか?
target_blankを使い、別ウィンドウを開き動作させる。
階層を、2階層以上にしないことが基本では?・・・

<a href="#"title="" target="_blank">リンク先</a>

このように記述した場合、同じ結果が出るようなら
<a href="#"title="" target="_self">リンク先</a>
これが原因です。

投稿日時 - 2014-03-20 03:52:47

ANo.2

Androidのデフォルトブラウザなら時々バグっぽい動きなどがあるので(CSS未対応ではなく)
拡張子を消すだけでそんな動きになるのかと思ってやってみましたけど、スクロールしますね。
ブラウザのアドレス欄も#abcがついています。
(Android4.2 デフォルトブラウザ、Chrome、iOS6 mobile Safari)

実際に見てみれば何かわかるかもしれませんが、
たぶん何か書き間違い、ケアレスミスか、
スマホの時だけハッシュ(#abcの部分)を削除している処理が入っているなどではないでしょうか。

投稿日時 - 2014-03-19 08:52:40

ANo.1

そもそも http://abcd.com/hogehoge というファイルは存在しませんのでその指定は誤りです。
(仮に本当に「hogehoge」という拡張子のないファイルを上げていたとしても、それを表示できるブラウザはありません)
あるとすれば http://abcd.com/hogehoge/ か、もしくは http://abcd.com/hogehoge.htmlhttp://abcd.com/hogehoge.php 等でしょう。
ですので、 http://abcd.com/hogehoge#abc と書いてPCブラウザで意図通りの挙動を行うのは、ブラウザの「誤った記述を"こうだろう"と補ってくれる機能」に助けられているだけです。
まずは正しく http://abcd.com/hogehoge/#abc 等と書いてみましょう。

それと、飛び先の記述が書かれていませんが、上記対応で直らない場合はそちらも疑いましょう。
nameだけでidが書かれていない等の場合は恐らく動かないブラウザや端末があると思います。

投稿日時 - 2014-03-17 12:33:06

あなたにオススメの質問