新規記事投稿 フォロー記事投稿 記事のキャンセル
From: にあ <nir@mvg.biglobe.ne.jp>
Subject: Re: Netscape v6.0で改行が反映されない
Date: 2000/07/12 00:21:34
Reference: mesh.forum.4/00229

7月9日に、OZAKI'Sさんは書きました。

>こまめに改行を削除した投稿があるので,なぜだか投稿者に聞いたところ,Netscape
>v6.0で投稿すると,見事に改行が削除されるようです。

うーむ、じつは、実はですね、そうなるのがHTML的には正しい動作なのです。(^^;;;
# あっ、Netscape6でも直接投稿した場合は、普通に改行が入って投稿されるはずです。
# 改行が消えるのは、プレヴューモードからの投稿だと思います。

プレビューモードで投稿用原稿を貯めているのは、HIDDEN属性の<INPUT>なのですが、
このVALUE属性はCDATAなので、本来、
・LFは無視される。
・CRはSPに変換される。
のが正しい動作なのです。

ところが、今まで世に出ていたほとんどのブラウザは、これらの正規化をしないまま
データの受け渡しをするため、その動作に合わせてスクリプトを書いていたのですが、
いよいよ「まとも」な動作をするものが現れてきた訳ですね。

# 今までも、Preview版などでそうなる物がチョコチョコとあったのですが、大抵は
# 製品版になる前に正規化しない動作に戻っていたので、過去との互換性のため
# 容易に動作を変えられないのだろうなぁ と思っていたのですが、そろそろ過去と
# 縁を切って、正しい動作になるように修正されるのかもしれません。

## まあ、Netscape6はまだ正式版では無いですから、これから先どう転ぶかは
## 予断を許しませんが。

とは言え、ブラウザのバグ依存の動作を続けるのは、やはり問題があるでしょうから
修正することになるとは思いますが、正しいブラウザの動作に合わせてしまうと、
今までのブラウザで誤動作することになってしまい、チョッと頭の痛いところです。

現在の投稿動作のうち、プレヴューと再編集のあたりの動作を大々的に変更して
両者を併合し、記事を必ずTEXTAREAで持つように変更すれば、古いブラウザでも
新しいのでも、どちらでもまともに動く様にはなりますが、投稿動作を大幅に
変更しなくてはならないため、スクリプトを根本的に改修する必要がありそうです。

うーむ、何かうまい解決法は無いですかねぇ?
# ブラウザの種類で判断するのは嫌だし... (^^;

### 時代遅れの箇所、第2段が見つかってしまいました。(^^;
### 次は何だ? (^^;;;