■全体リロード
function Reload(){window.location.reload();}
で全体リロードした場合
Firefoxはこの SimpleOutlineMemo で実行ボタンで読んだコード自体をリロードしますが、
Cromeは実行ボタンを押したサイト自体をリロードします。
ゲームの再起動(リスタート)で使うつもりでしたが
実行した編集画面に戻ってしまうため、プログラム全体を関数で括り、それをボタンで実行する形を取りました。
■innerHTMLの返値の違い その1
U="<font color=\"red\">▲</font>";
上のように代入してID付きのinnerHTMLで一度表示し、
その位置の物を innerHTMLで読み込むとき、
ブラウザによって内容に差がでてきてしまいます。
Crome、Firefox は
<font color="red">▲</font> と扱われます。
IE は
<FONT color=red>▲</FONT> と扱われます。
よって返ってきた値だけで判断はできません。
しかたがないので、slice で切り取って判断する方法をとりました。
U1=U.slice(-8,-7);
マイナス指定なのは、前からだと”を取ってしまう為です。
■省略文字による動作の違い
Document.all.F[1].innerHTML を省略するとき
Crome、IE は
D=Document.all
D.F[1].innerHTML としても 動きますが
Firefox は動きません。
ですので
D=Document
D.all.F[1].innerHTML とするのが望ましいです。
これで3つ全部で動きます。
■フォントの扱いの違い
<tt id=F>として<span id=F〜の部分をあとでinnerHTMLにて調べるわけですが
Crome、Firefoxは空白を等幅として扱いますが、IEは扱わないため、すっごいズレます。
以下のようにフォント指定するととりあえず空白を等幅でとります。
<style type="text/css"><!--tt{font-family:"MS ゴシック";}--></style><tt id=F>
しかしながら、CromeではそのHTML全体の中で使われている全角文字の数が一定の数で
そのHTMLがS-JISであると判断しているため、
ある一定の数、全角文字を入れないとS-JIS以外のフォントでHTMLを認識します。
するとfont-family:"MS ゴシック"; のうちMS ゴシックの部分が化けてしまって
フォントを認識しなくなります。この部分は注意してください。
■innerHTMLの返値の違い その2
IEは空白をヌルで返しますが、Crome、Firefoxは空白で返します。
この点をふまえて組む必要があります。