あまり実害はないかもしれませんが、Windows版Safari3Beta(3.0.2)には、英数字が一定文字数以上、連続すると、alertされている文字が見えなくなる不具合があります。英数字の間に半角スペースが途中で入っていればOKですが、私の環境では英数字が47文字以上連続するとこの不具合が発生しました。もしかすると設定しているフォントによって、この制限文字数の上限は多少変わるかもしれませんが・・・。詳細なテストページをこちらに準備しました。

上のような簡単なJavascriptがWindows版Safari(3.0.2)では、期待通りに動きません。alertは表示されますが、alertされている文字は見えません。空白文字になっています。



連続する英数字の間に半角スペースが混じっていれば、全体で何文字あろうと関係がありません。また、日本語の場合は、連続で100文字あっても問題ありません。(今突然、「100人乗っても大丈夫」のイナバ物置さんのCMを思いだしました。)

世界一長い単語は「pneumonoultramicroscopicsilicovolcanoconiosis」(珪性(けいせい)肺塵症(はいじんしょう)という意味らしいです。)の45文字という記述をネットで見かけましたので、Safari 3 for Windowsの実装でぎりぎり問題がないようにも見えます。45文字が最大だからその一つ上の46文字までは何とか面倒を見よう、これがSafari開発者の意図だったのかもしれません?!

しかし、IEやFirefox、さらにはMac版Safariではこのような問題は発生しませんので、一応まとめておきます。それに、考えてみたら、以下のようなコードを書きたくなる場合もあるかもしれません。

この場合も、Windows版Safari3.0.2では不具合が発生し、「メールアドレスに利用できる文字は、」しか表示されません。これは、やはり問題でしょう。

このalertメソッドに関する不具合としては、他に、

●Windows版Safari(β版)で、改行を含む文字列をalertで表示させると変になる不具合
http://shimax.cocolog-nifty.com/search/2007/06/windowssafarial_63f5.html

があります。今回の不具合とは別の理由によるものと思われますが、いずれの不具合も早く修正されてほしいです。

最後に蛇足ながら、他のブラウザの挙動として、Windows版IEでは、適当な文字数で自動的に改行してくれて、アラートのボックスが極端に横長にならないように調整してくれますが、Firefoxでは、連続する文字数が200文字とか400文字になっても、自動改行してくれないので、アラートのボックスの横幅はどんどん広くなっていきます。私のパソコン(解像度1152×864。Firefox 2.0.0.4)では、400文字になるとアラートのOKボタンが消えました。


ブックマークに追加する