HTMLページtest.htm内に


<a name="j1">1</a>
<a name="j2">2</a>
<a name="j3">3</a>
のようにアンカーポイントを入れ、
<a href="test.htm#j1">1にジャンプ</a>
<a href="test.htm#j2">2にジャンプ</a>
<a href="test.htm#j3">3にジャンプ</a>

とページ内でリンクをさせた場合、FireFoxで閲覧すると、長いページであってもクリックでジャンプできません。
IEならちゃんとジャンプできます。
test.htmを書かなかった場合も同様です。

このような現象の原因と対策をお教えください。IEでもFireFoxでも正しくジャンプさせたいのです。
(“過去の質問から検索”ではこの現象について見つけることができませんでした。FAQでしたらご容赦ください。)

回答の条件
  • URL必須
  • 1人3回まで
  • 登録:2008/08/15 01:02:42
  • 終了:2008/08/15 12:24:52

ベストアンサー

id:pahoo No.3

pahoo回答回数5960ベストアンサー獲得回数6332008/08/15 10:31:57

ポイント40pt

ご質問のようなアンカーは、手元のFireFox(Windows版3.0)では正常に動作しました。


ただ、アンカーを含む要素に name もしくは id 属性を付けているとすると、ご質問のような不具合が発生するかもしれません。これはFireFoxの仕様です。

回避策は「Netscape / Firefox でのページ内ジャンプ動作」を参考にしてください。

id:mouitchou

当方のFireFoxはWindows版3.01です。

ご紹介いただいた回避策が大当たりでした。name=に加えてid=を並べることで解決しました。それも、一番上のアンカーひとつだけに付けるだけでちゃんと動作します。FireFoxのバグか不具合ということで理解し、以後は両方のタグを併記することにします。

どうも有り難うございました。

2008/08/15 12:15:47

その他の回答(2件)

id:haruo-31 No.1

haruo-31回答回数80ベストアンサー獲得回数102008/08/15 01:19:39

ポイント30pt

うちのFirefox3では↓のソースが問題なく動きました。

一度HTMLバリデータを使ってみてはいかがでしょう。

http://validator.w3.org/

<html>

<head>

<title>ababababa</title>

</head>

<body>

<a name="a1">テスト</a>

<div style="height: 300px;">&nbsp;</div>

<a name="a2">テスト2</a>

<div style="height: 300px;">&nbsp;</div>

<a name="a3">テスト3</a>

<div style="height: 300px;">&nbsp;</div>

<a href="#a1">りんく</a>

<a href="#a2">りんく</a>

<a href="#a3">りんく</a>

</body>

</html>

id:mouitchou

有り難うございます。

確かにエラーがたくさん検出されました。ただ、これだけ出ると、どこまでが本件に関するものか……。調べてみます。

2008/08/15 11:27:28
id:stripafe No.2

stripafe回答回数35ベストアンサー獲得回数62008/08/15 03:21:48

ポイント30pt

本来 Firefox でも問題なく動作するはずです。

IE ならちゃんと動くとのことですが、エラーがあっても動いてしまうだけかもしれないので、意図した通りに動いたからといってそちらが正しいとは限らないのが面倒なところですね。


必要最小限のタグと質問内の記述だけに内容を制限したファイルを作ってテストしてみると、問題箇所が発見しやすくなるのではないでしょうか。

もしそのテストファイルでは意図した通りに動くのに元の test.htm でうまくいかないようだったら、質問箇所以外のどこかにエラーがあって、そのせいでうまくジャンプ出来なくなってしまったのかもしれません。

http://validator.w3.org/


たとえば name の代わりに id で試してみるのはどうでしょう。

test.htm を書いても書かなくても動作しないということは、拡張子が一致していないということはなさそうですね。


他のブラウザや、別バージョンでも動きませんか?

その Firefox 固有の問題だったら、自分ならとりあえずブラウザを再起動してみる、初期設定ファイルを破棄してみる、アンインストールしてインストールし直してみるなどを、おまじないのように片っ端からためしてみます。

id:mouitchou

有り難うございました。たしかにidでジャンプできました。

2008/08/15 12:23:04
id:pahoo No.3

pahoo回答回数5960ベストアンサー獲得回数6332008/08/15 10:31:57ここでベストアンサー

ポイント40pt

ご質問のようなアンカーは、手元のFireFox(Windows版3.0)では正常に動作しました。


ただ、アンカーを含む要素に name もしくは id 属性を付けているとすると、ご質問のような不具合が発生するかもしれません。これはFireFoxの仕様です。

回避策は「Netscape / Firefox でのページ内ジャンプ動作」を参考にしてください。

id:mouitchou

当方のFireFoxはWindows版3.01です。

ご紹介いただいた回避策が大当たりでした。name=に加えてid=を並べることで解決しました。それも、一番上のアンカーひとつだけに付けるだけでちゃんと動作します。FireFoxのバグか不具合ということで理解し、以後は両方のタグを併記することにします。

どうも有り難うございました。

2008/08/15 12:15:47
  • id:mouitchou
    自己レスですが、詳しいコメントが見つかったので書いておきます。
    http://forums.mozillazine.jp/viewtopic.php?t=5628&sid=11450081ffce602afeb693eacddc4f8a

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません