JavaScript? に関するメモを追記していく。
IEとFirefoxの違い †
Firefoxの方がW3C勧告に忠実なようだけど、IEのシェアもいまだに大きい以上は無視できない(事実上標準)。
DOM扱いの相違 †
相違点を追記していく。
- タグで囲まれる文字列(CDATA)を取得するには、Firefoxでは textContent、IEではinnerText。(nodeValue ならどちらでもOK)
- childNode のとり方が違う。Firefoxは空白ノードをカウントする。IEはカウントしない。
参考-> DOM入門 子ノードの取得
Script実装の相違 †
相違点を追記していく。
- inputタグなどの onchange イベントのタイミングが違うっぽい。
これが気になる場合は onclick などで代替。
- IEのonclickなどでsubmitする場合は、最後に return false をしないと、ソケットエラー(Firefoxなら書かなくても大丈夫)。
- IEではタグに勝手にいろんな属性を追加できる(divタグにvalueをつけたりとか)が、Firefoxではそれを取得できないことがある。
確実に拡張属性をとるなら、getAttribute()で。
- イベントを追加するには、IEはattachEvent()、FirefoxはaddEventListener?()。
参考 †
IEでJavaScript?をデバッグ †
ブラウザの設定を有効にする †
IEの「インターネットオプション」->「詳細設定」タブを開いてその中の「ブラウズ」カテゴリから「スクリプトのデバッグを使用しない(Internet Explorer)」というチェックがあるので、このチェックを外す(デフォルトでチェックがONになっている)。
ただ、これは Microsoft Office がインストールされている必要があるかも?
Windows Script Debugger を使う †
Windows Script Debugger を使う。
FirefoxでJavaScript?をデバッグ †
Firebug を使う(お勧め) †
これはかなり使いやすい。まずは下記ページからアドオンをインスコ。
「署名がありません」とかいわれるけど気にしない。
インストールされたらFirefoxを再起動。メニューの「ツール」に「Firebug」という項目が増えているのでここから「Open Firebug」を選択、「Enable Firebug」をクリックするとデバッグが開始される。ブラウザで動作を見ながらステップ実行できるので、非常にやりやすい。
JavaScript? Debugger を使う †
これはRADのような画面でScriptを追うツール。画面で確認する必要がなく、シンタックスや処理内容だけデバッグすれば良いときはこちらが良いのかも。
MLEXP. Wiki