その後のJavaScript@IE

IEでバグっていたスクリプト、見直して、修正しました。
原因は、window.openという命令のせいもあるけど、それだけじゃなくて、文字コードの互換性とか、ウィンドウ名の制限とか、他にいろいろあった模様。
FireFoxなどではそれらは許容されているんですけど、IEでは許されないらしい。
たとえば、Macでコピペした文章中の「~」とか、一部の「!」とかはダメらしい。文字化けして、文字列終端が見つけられない模様。
ウィンドウ名(JavaScriptにおけるオブジェクト名全般がそうなんだろうな)も日本語ではダメで、Win(というかMS-DOS)の実ファイル名の命名規則に従っていないとダメらしい。
が、いずれにしてもエラーがきちんと出ないのはMacからWinへ持ってきたファイルのせいもあったらしいけど、他にもいろいろ問題ありそう。Shift-JISじゃなくて、JISかUTF-8じゃないとダメとか?(でもUTF-8でもダメだったよなあ…)
仕方が無いので、Winのエディタで開いて、文字コードをShift-JIS、改行コードをUnix(LF)にして、保存し直しました。
そして、最終的には結局FireFoxのJavaScriptコンソールを使用してバグ取りしました。
MacのFireFoxだと出てこないエラーもこちらではがっつり出るようで、それでも動作するけど、バグ取りには必須。
IEではエラーが意味不明文字になってるんで、FireFoxで走らせながら、エラー箇所を検出して、修正した後、IEで確認という作業の繰り返しでした。
MSの場合、自社スクリプト(JScriptやASP)推奨なんでしょう。
でもって、MSの売ってる環境じゃないとまともにバグフィックスできないとか…、そういう感じなんでしょうね。
元々、JavaScriptって、Netscape社の作ったもんだしなあ。
しかし、逆にJScriptで書いたものって、IE以外のプラットフォームだと動かないんだよねえ。
JScriptだけじゃなくて、HTMLとかCSSも、MS独自のものがあって、それを組み込んでるページ(っていうかサイト作成ソフトで作られたページ)だと、他のプラットフォームじゃ見れない動かない状態なんですよね。
結局、ブラウザって、IEの寡占状態だから、IE基準で作っても問題は大きくならないけど(一時MSNがIEしか見れない状態になって、さすがにそれは大きな問題になったけど)、FireFoxやSafari基準で作ってもダメなんですね。
ついでに言うと、HTML/CSSの正式規格(W3CのDOM)を通るかチェックしてOKでも、IEだと表示乱れたり…。なんだかなあ…。
まあ、MSのやることだし…。
ってでも腹立たしい気もしますね。
みんなMSに結局踊らされてる!!<アンチMSの主張(≒少数派意見≒無視される意見(–;))
とりあえず、叫んで見ました…
が、発見したバグとか見ると、自分、ホント試験してないなあ…というのが良く分かる。っていうか試験ケースすら作ってないし、試算もしてない。
メチャダメダメだ~~~
なんかPGとしてもSEとしても失格?
(いや、趣味用だけどさ、それにしてもあまりにも…)
ちょっと真剣に勉強っていうか、何か作る練習して、試験ケースとか作ってみなくちゃ、ダメだ、おばかさんに拍車が掛かる~~~(^^;)
というわけで、いろいろ反省しました。
MSのせいだけど、MSのせいだけにしちゃあかんですね<結局まだ言ってるし…
せめても救いは「仕様です」という言葉が出なかった程度でしょうか<これ出たら終わりだよな


参考資料にしたURL
・とほほのJavaScriptリファレンス(ここのWWW入門は必見!)
http://www.tohoho-web.com/js/index.htm
・OpenSpace(いろんな本も出されている古籏さんのページ。ここも必見。Mac関係の方が昔は本業だったはずなのですが、今はいろいろと手広く解説されていらっしゃいます。Macでプログラムする際にもお世話になるサイトです)
http://www.openspc2.org/
http://www.openspc2.org/JavaScript/WinXPsp2/index.html
・MS社の公式情報
http://www.microsoft.com/japan/msdn/windows/windowsxp/xpsp2web.aspx

Follow me!