JavaScriptのソースが壊れてしまう

[上に] [前に] [次に]
Moonlight [E-Mail] 2000/02/11(金) 06:29:03
某フリーJavaScriptをHTMLに取り入れたページでトラブルが発生しました。
最初は普通に動いていましたが、ある日そのページを更新しようとして
ソースを多少変更(JavaScript以外の部分)してソースを保存しようとすると ソースがごちゃごちゃに崩れてきちんと保存できない状態になってしまいました。 何度やりなおしても、保存するときにソースが
乱れてしまいます。 こんなトラブル起きたことありますか?
普段はメモ帳を使ってソースを書いていますが、試しにワードパッドで
保存しようとしましたが同じでした。
これはJavaScriptが原因なのか、それともメモ帳、ワードパッド またはブラウザに何か問題があるのか お心当たりのある方いらっしゃいましたら教えてください。
ブラウザはWin98/IE5です。
(ブラウザを閉じて、ソースだけ開いても同じ現象がおきたので
ブラウザには関係ない気はします。)

Ichi 2000/02/11(金) 06:51:07
どの様に乱れているかがわからないので何とも言えませんが、
行と行がくっついてしまうのなら改行コードの違いが原因では?

Moonlight 2000/02/11(金) 06:58:19
行と行がくっついてしまいます。
改行コードの違いが原因なんですか…。
すみません、よくわからないので具体的に教えていただけますか?

Ichi 2000/02/11(金) 07:14:14
たとえば、改行コードは、Windowsでは0dh 0ah、Macでは0ah。
さて、ここでWindowsのテキストファイルの最後にMacのテキストファイルを連結させるとどうなるだろうか。
Windowsで開けば、Mac部分の0ahだけの改行は認識できず、行と行がくっついてしまう。
Macで開けば、Windows部分の改行コードのうち、0dhはただの文字と認識され、文字化けとなる。

つまり、改行コードをどちらかに統一する様に変換すればよい。

Moonlight 2000/02/11(金) 07:20:34
ご回答ありがとうございます^^
でもどうしたらよいかわかりません(涙

Ichi 2000/02/11(金) 07:23:31
簡単なプログラムで出来ます。

プログラムが出来ないなら、そういうソフトを探しましょう。

Moonlight 2000/02/11(金) 07:35:15
えっと、問題は ソース内に改行コードが指定されていないので
保存するときにソースが崩れる。
ソース内に改行コードを指定するスクリプトをプログラムすれば、
問題は解決される。
ということでしょうか?^^;

Ichi 2000/02/11(金) 07:40:55
そうではなく、もらったスクリプトの改行コードと、自分で書いた
HTMLファイルの改行コードがあってないので、どちらかを変換して、
もう一方に合わせなければならないということです。

さっきの例なら、Macの改行コード(0ah)->Winの改行コード(0ah 0dh)のように。

2000/02/11(金) 07:42:56
>ソース内に改行コードを指定するスクリプトをプログラムすれば、問題は解決される。

う〜ん,違うと思います.
FTPで一回サーバに転送して,また落とせばFTPが改行コードを適切に変換してくれるかも.

Ichi 2000/02/11(金) 07:49:55
うーん、伝わらない。やっぱり俺って下手だな。

Perlがわかるなら、壊れているファイルに対して
while (<STDIN>) {
s/\r\n/\n/g; # Macに統一
s/\n/\r\n/g; # Winに変換
print;
}
とやってはどうですか?

Moonlight 2000/02/11(金) 07:59:04
なるほど…。やっとわかってきました。
ありがとうございます^^

ところで、
サーバーからソースをDLして メモ帳で開くと改行のところに黒い四角が入って文字化けしている。それをワードパットで開くと文字化けしていない。ワードパッドで保存しなおすと メモ帳でも文字化けせずに開ける。 
という経験がありますが、これも改行コードが関係しているのですか?

Moonlight 2000/02/11(金) 08:02:54
おっと、わたしが書きこみしている間に2件の書きこみがあったのを見ていませんでした。失礼^^;
えっと、猫さんのおっしゃる通りサーバーにソースを送ったり取りなおしたりしているうちに 改行コードが変換したようです。いまやってみたら ちゃんと保存できました。

下手じゃないです^^;わたしの理解力が無さすぎです。すみません。>Ichiさん

Moonlight 2000/02/11(金) 08:55:19
[[解決]]
一応問題は解決したのでチェックつけておきます。
ありがとうございました^^

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