NAMEタグが多すぎる?

[上に] [前に] [次に]
mio 2000/06/05(月) 12:10:45
1ページ内のNAMEタグが多すぎるためか、
リンクボタンを1度押しても表示するだけで
NAMEタグへ飛びません。
2度目で飛びます。(フレーム使用しています)
NAMEタグは1頁内に50個あります。
タグを減らす以外、対処法はないのでしょうか?

2000/06/05(月) 12:19:07
だから、NAMEタグって何ですか?
どこかの本にそんなことが書いてあったの?

まあ、NAMEタグってのがNAME属性を付けたA要素のことと曲解【謎】してみましょう。
多分、アンカーの数はあまり問題ないと思います。
HTMLファイルが大きい場合に、読み込みの時間差などの関係でそう言うことが起こるのかと。

mio 2000/06/05(月) 13:05:25
すみません。
タグと書いたのは失礼しました。

ファイルのサイズが大きくても、NAMEが少ないと
正常動作しています。
例えば、
101KBでNAMEの箇所50個→2度押さないとダメ
452KBでNAMEの箇所20個→正常
です。
他の方法を考えます。

Fuji.♪ [E-Mail] [HomePage] 2000/06/05(月) 15:35:41
いや、だからnameの箇所って何ですか?

偽さんの言われている通り、a要素のname属性を指定している部分と曲解するしか手は無いのですが、その場合、50個あろうが100個あろうが、望み通り動いてくれるかはWWWブラウザの実装依存ですが、100KB程度でアンカー埋め込み50箇所程度なら問題が発生したことはありませんよ。
一応、Windows版IE4/5、NN4.xでの経験です。

どのようなWWWブラウザで試されたのでしょうか?

#以前100箇所位指定しましたが、何の問題も無かったですよ?

boolean 2000/06/05(月) 16:05:30
NAME属性の数は関係ないのでは?
(このようなバグは聞いたこと無いです)
アンカーの閉じ忘れとか、NAME属性に指定している名前が重複しているとか。
後は、<A NAME="hoge> ← NAMEの閉じ忘れとか。
文法ミスがないか良く確認してみては?

おい 2000/06/05(月) 16:12:14
ページのURLくらい書け!

Piro [E-Mail] 2000/06/05(月) 17:28:22
皆さん……なにもそんなに責め立てなくても。

booleanさんも指摘されてますが、
<a name="〜"></a>は“囲ったところに”名前を付けるというものなので、
必ず閉じておかなければなりません。
もし<a name="〜">だけしか指定していないなら、
<h1><a name="top">タイトル</a></h1>
のように、タイトルや特定の語句に対して
指定するようにしてみてください。

Piro [E-Mail] 2000/06/05(月) 17:33:51
訂正。「タイトル」→「見出し」

謎の人 2000/06/05(月) 18:23:48
関係ないかもしれないけれど...。

<a href="#xxx">AAA</a>
の時、どういうわけか
<a name="#xxx">BBB</a>
は、IEでは問題ないのですが、ネスケだと反応しません。
やはり、
<a name="xxx">BBB</a>
にすると、IE&ネスケでOKです。

2000/06/05(月) 18:42:36
それは単にHTMLの書き方が間違ってるだけの気がします。
まあ、わかって書いてるんならいいんですけど。

2000/06/05(月) 18:43:18
> HTMLの書き方
むしろ、NAME属性の書き方ね。

Piro [E-Mail] 2000/06/05(月) 19:45:33
>謎の人さん
「#」はhrefなどで指定するときにそこから先が
IDやNAMEであるということを表すための区切りなので、
NAMEに使うことはできません。
<a name="#top"> と書いてしまいがちですが、
<a name="top"> が*正解*です。

sadahiro 2000/06/05(月) 20:06:35
><a href="#xxx">AAA</a>
>の時、どういうわけか
><a name="#xxx">BBB</a>
>は、IEでは問題ないのですが、ネスケだと反応しません。

<a name="xxx">AAA</a>に飛ばそうと思ったら、
<a href="#xxx">AAAへ</a>のように、

<a name="#xxx">BBB</a>に飛ばそうと思ったら、
<a href="##xxx">BBBへ</a>のように指定するでしょう。
これを
<a href="#xxx">AAAへ</a>からも
<a href="##xxx">BBBへ</a>からも
<a name="xxx">AAA</a>に飛ばすIEは、余計なお節介なのです。
(アンカーのnameをこんな風に指定するほうがひねくれているのかな?)

sadahiro 2000/06/05(月) 20:09:26
間違い。失礼しました。
><a name="xxx">AAA</a>に飛ばすIEは、余計なお節介なのです。
どちらも<a name="#xxx">BBB</a>に飛んでいました。

sadahiro 2000/06/05(月) 20:20:55
なるほど。こういうことでしたか。(↓HTML4.0から)
ID and NAME tokens must begin with a letter ([A-Za-z])
and may be followed by any number of letters,
digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").

では <a name="#xxx">BBB</a>や<a href="##xxx">BBBへ</a>は
おかしいのだな(実際自分とこでこんな書き方をしていたわけではない)^^;

Mio 2000/06/05(月) 20:30:18
こんなすごいことになってるなんてびっくりしました。
いろいろ調べたところでは、パソコンの環境によるみたいです。
でも、どういう環境で症状がおかしくなるかは、
まだよくわかっていません。

2000/06/05(月) 20:45:08
>sadahiroさん
A要素のNAME属性は、NAME形式じゃなくてCDATA形式ですよ。
従って、その記述は当てはまりません。
http://www.w3.org/TR/html4/struct/links.html#h-12.2.1
↑読んだ限りでは、"#"を含んでも良さそうにも読めるのですが‥‥‥

sadahiro 2000/06/05(月) 21:46:58
偽さんありがとうございます。そうです。CDATAでした。
にわか調べで誤解しているかもしれませんとお断りの上で、
RFC1738を持ち出して見ます。
The character "#" is unsafe and should
always be encoded because it is used in World Wide Web and in other
systems to delimit a URL from a fragment/anchor identifier that might
follow it.

URLの中では#の使用はよろしくないといっているようです。

<a href="http://hoge.com/foo.html#aaa">では
http://hoge.com/foo.htmlがURL
aaaがanchor identifierということになるのでしょう。

同じ文書内の<a name="aaa#bbb">にとばす識別子は<a href="#aaa#bbb">となって、
1個目の#の前までがURLなので
その後ろのaaa#bbbはアンカーの識別子として問題なく解釈されるのでしょうか.

window98上でNN4.04, IE5.01では
name="aaa#bbb"はうまく働きましたが、
一般的に許された形式なのかどうか。よくわかりません。

まあいずれにしても元の質問からずいぶん脱線してしまったかもしれません。すみません

ヒソカ 2000/06/05(月) 21:48:21
> いろいろ調べたところでは、パソコンの環境によるみたいです。
> でも、どういう環境で症状がおかしくなるかは、
> まだよくわかっていません。
おかしくなる環境があるんじゃなくて、間違った文法をおせっかい
にも解釈しようとするブラウザ(環境?)があるだけで、
間違いを正せば、全ての環境でちゃんと表示するんですよ。

とほほ 2000/06/05(月) 23:57:09
> だから、NAMEタグって何ですか?
> どこかの本にそんなことが書いてあったの?

> ページのURLくらい書け!

ふぅ、まだ、このような発言をする人がいますか・・・
用語を知らない初心者よりも、マナーを知らない中級者の方が迷惑ですので、
このような発言だったら書き込まないでくださいね。

この手の発言をする人達を「LOMな人」(Lack Of Moralな人)とか
名前をつけて、一覧作ろうかな・・・

とにかく、管理者からの強いお願いです。(私のこの発言自体、
雰囲気の悪い発言ですが、こうした発言をしなくてもすむよう、)
発言態度の改善をお願いいたします。

Mio 2000/06/06(火) 11:04:18
[[解決]]
HP公開用のものではないので、URLはありません。
あまりの乱暴なお言葉にひいてしまいました。
ここへは二度ときたくありません。

警備猫 2000/06/06(火) 13:10:49
BirchベースのpIEでは、a要素のリンク先がその要素が含まれる
リソースとは違うリソースの場合、name属性込みでリンクして
いると、リンク先のリソースが表示されないことがある、というバグが
あります。
言いかえると、foo.htmlで <a href="bar.html#hoge"> とした
場合にリンク先へ飛ぶと、第一希望としてはbar.htmlのhogeと名前
付けされた場所からの表示、第一希望がブラウザの仕様上満たされ
ない時の第二希望はbar.htmlの頭からの表示、というものが期待
されるところですが、実際には何も表示されない(pIE的にはbar.htmlを
表示したことになっているが、傍目にはレンダリングされていない)と
いうわけです。
再現性については、ちと長くなるので割愛しますが、そういうことも
ある(そういう環境でアクセスしてくる人もいる)と踏まえて、name属性の
扱いには注意したほうが良いかと思います。

Fuji.♪ [E-Mail] [HomePage] 2000/06/06(火) 13:17:10
まぁ、二度と来ないそうですが最初の書き込みの発言者ですからメールで届くと思いますので少しだけ。
Another HTML-lintとかjweblintとかで一度チェック掛けるだけで、質問するまでも無く解決する場合もありますから、そういうことを試してみてください。

mioさん([解決]をつけたMioさんとは別の方でしょうか)がnameって単に書いたものが結局最後までa要素のname属性のことを指してるのかどうかは誰にも分かってないんです。

HTML 4.01的にはa、map、img、object、param、form、input、select、textarea、button、metaの各要素がname属性を持っているんです。
nameを指定してもそこへ飛べません、と言われてもそりゃa要素のname属性の部分以外へは飛べないでしょう、とかの答えだってありうる訳です。
公開できない以上、他の人からは書式的に合っているのかとかは絶対に分からないわけですから、それこそ説明を上手に、間違え様が無いくらい正確に行う必要があるわけです。

ここで質問しなくても、他の場所で質問する場合にはこの辺りにもうちょっと気を使ってくださいね。

警備猫 2000/06/06(火) 13:17:52
Birch → Windows CE 2.0, Windows CE 2.1x
pIE → Pocket Internet Explorer

謎の人 2000/06/06(火) 13:29:27
脱線のもとを作ったものです。

>ここへは二度ときたくありません
言葉は乱暴ですが、みなさん、いろいろ考えて(悩んで)くれたと思います。
ここは、HP作成に関しては、すごくためになりますので、毎日来てみて下さい。
また、この言葉に「とほほ」さんが反応しなきゃいいんだけど...。
せっかく、再開したばかりなので...。

と言いながら、
>名前をつけて、一覧作ろうかな・・・
を楽しみにしています。

[上に] [前に] [次に]