« 2007年5月 | トップページ | 2007年7月 »

2007/06/30

Windows版Safari3β版のalertでは、英数字が一定文字数以上にわたって連続するとalertを正しく表示できない不具合



あまり実害はないかもしれませんが、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ボタンが消えました。

| | コメント (0) | トラックバック (0)

2007/06/29

Windows版Safari3Betaで、JavaScriptでCtrlキーの取得が出来る時と出来ない時がある理由



Windows版Safariでonkeydownによって、「e.ctrlKey」を取得できる場合とそうでない場合があることに気づきました。プログラムは以下のような、いかにも単純なプログラムです。

Safariの場合、Ctrlキー単独では、何のalertも表示されませんが、それはまあ良いとして、「Ctrl+Aを押せば、思いっきりテキストの全選択になります」し、「Ctrl+Tを押せば、新しいタブが開き」ます。Ctrl+Pなら印刷設定画面が表示されます。何のアラートも表示されません。

ところが、一方で、「Ctrl+B」や「Ctrl+U」なら「Ctrlキーが押されました。」というアラートをしっかりと表示させてくれます。結局、Widnows版Safariでは、JavaScriptでの取得の前に、各メニューに割り当てられたブラウザのショートカットが優先されてしまっているのです。Mac版Safariでは、このようなことはありません。Mac版Safariでは、コマンドキーやCtrlキーが押された旨は取得できます(が、イベントのキャンセルも普通にはできないので、ブラウザのメニューに割り当てられたショートカットもalertの後にやはり実行されます)。

上のサンプルコードを実際に動かすために作成したサンプルページはこちらです。

Windows版SafariはMac版SafariとJavaScriptの面でも挙動が異なるところが結構ありそうです。既に記事化したものとしては、

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

●Windows版Safariの不具合(日本語・お気に入り関連以外。SSLの証明書問題など)
http://shimax.cocolog-nifty.com/search/2007/06/windowssafariss_2387.html
の中の1番で書いた問題ですが、document.lastModifiedがサーバの設定にかかわらず、常に空の文字列が戻ってきます。この2つの問題と合わせると、最低3つの点において挙動が異なるということになります。

| | コメント (0) | トラックバック (0)

2007/06/25

Windows Updateで0x80070490謎のエラー(情報求む!!)



つい3日ほど前からWindows Updateできなくなってしまい(Windows Vista)、困り果てている。履歴によると6月20日にWindows Defender関連のファイルをあてたのを最後に、アップデートできなくなっています。

コード「80070490」と表示されて、「新しい更新プログラムを検索できませんでした」となります。「C:\windows\windowsupdate.log」には、「2007-06-25 10:04:16:704 1060 15c4 Agent WARNING: WU client failed Searching for update with error 0x80070490」などが残っています。

Googleで検索してみると、いくつか原因と関係しているものが見つかりましたが、どの解決策もうまくいきません。

●Error message 80070490 in Windows Update
http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?
dg=microsoft.public.windowsupdate&tid=317ea652-cb0d-41f6
-bc2c-c8454196b787&p=1

(投稿日時も6月19日であり、近いです。)

●Windows Update: Windows could not search for new updates
http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=518846&SiteID=17
の記事から、「新しい更新プログラムを検索できませんでした」は「Windows could not search for new updates」に日本語訳であることが分かりました。これで検索しやすくなりました。

また、調べているうちに、コントロールパネルの中の「Windowsの機能の有効化または無効化」も空になっていることに気づきました。この「Windowsの機能の有効化または無効化」は「Turn Windows features on or off」の日本語訳であることが分かりました。

また、「0x80070490」自体は、Permission denied / [Problem initializing or using session variables] or Element not foundというエラータイプのようです。

日本語の情報はほとんど見つからないので、これらの英語をキーワードにして検索しまくりましたが、私の問題を解決できるサイトにはぶち当たりませんでした(こちらのマイクロソフト社の技術情報1技術情報2技術情報3はチェック済み)。そこで、この情報を自ら発信し、情報を募りたいと考えました。「私も同じ症状です」というような書き込みでもいいです。情報をください。

ここ数日間でやったことでもしかしたら関連するかもと現時点で考えていること:
1.6月19日に光プレミアムに変更した。今まではADSLでした。Windows Updateサーバに何らかの理由で接続できていないとかが原因か? Initializingに問題があることが0x80070490であれば、ありうるかもと思いつつも、それなら光プレミアムを使っている何十万世帯で問題になっているはずであり、もっと大問題になっていてよさそう。回線が変わったので、プロバイダも変更しましたが、そのプロバイダがまさかWindows Updateに必要なポートやを閉じたり、通信をブロックしているとか、そんなのではないですね。そしたら、それこそ大問題になっているはずですし、これはないですね。

2.Windows版Safariを入れた。でも、6月20日よりは1週間も前から入れているのだが・・・。

3.履歴によると、6月20日にWindows Defender関連のファイルを更新したようだ。この定義ファイルが何らかの異常をもたらしてくれている可能性はやはり否定できません。それにしては、大問題になっていないしな・・・。でも、もし私のように、ぜんぜん大問題になっていないから、ひとりで騒いでは恥ずかしいから誰かが書くのを待っているという人が多いだけなのかもしれないし・・・。

4.ずっと前からですが、ウイルスバスター2007を使っています。

5.(2007年8月15日追記) Vista Homeを入れる前、VistaのRC2(英語版)を入れていました。

6.(2007年8月15日追記) システムの復元機能は切ってあります。システムの復元をoffにすると、Windows Updateが正しくできないとかはありえないので関係無さそうですが、履歴が一切表示されなかった不具合は、何らかの関係があるかもしれません。とにかく追記しておきます。

7.(2007年8月15日追記)Windows VistaのインストールDVDを使って再インストール(Vistaを起動した状態で、インストールDVDを挿入すると、「アップグレード」という名の修復アップデートが可能なメニューを利用可能ですが、これが92%ぐらい、必要なファイルをDVDから読み出しているところ0x80070017でエラーになります。私のVistaはぼろぼろ状態です。)

心当たりのある方は、トラックバック・コメント入力お願いします。

| | コメント (11) | トラックバック (0)

Safariベータ3.0.2がリリースされました



Windows版Safariベータ3.0.2がリリースされました。リリースノートには、
  • Latest security updates
  • Improved stability
  • Fixes for text display, non-English systems, and start-up times
とあります。英語でないシステムでの問題をfixしたとありますが、いろいろ自力で対策してしまった後なので、すぐにはテストできませんが、少しずつ改善されているようですね。start-up timesの改善が、Safariの起動時間のことであるならば、いいなと思ったのですが、違うのかもしれません。WindowsXPのとある一台がやたらと起動が遅い(最初のApple社のページが表示されるまでに5分ぐらいかかる)のですが、その端末では改善が見られませんでした。他の原因で遅くなっている場合の対処だったのかもしれません。

何はともあれ、日本語入力ができるようになってほしいです。また、Windows版にのみ存在するJavaScript関連のバグ2つ(下記参照)はまだ改善されていませんでした。

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

●Windows版Safariの不具合(日本語・お気に入り関連以外。SSLの証明書問題など)
http://shimax.cocolog-nifty.com/search/2007/06/windowssafariss_2387.html
の中の1番で書いた問題ですが、document.lastModifiedがサーバの設定にかかわらず、常に空の文字列が戻ってきます。この二つの問題は依然として修正されていないようです。



CAインターネットセキュリティスイート2007新発売キャンペーン

| | コメント (0) | トラックバック (0)

2007/06/23

Windows2000に無理矢理Safariを入れてみる



「無理矢理」というタイトルをつけましたが、Windows VistaとWindows XPの時とほぼ同じ感じでインストールできました。Apple社のサイトには、システム用件にはVistaもしくはXPとありますが、2000でも大丈夫ぽいです。

ただ、私の環境(Windows 2000 SP4+IE5.5)だけかもしれませんし、たまたまだけだったのかもしれませんが、インストール途中で「Validating Installation」(細かい文言は失念しました。)などとでて、インストールの確認作業が入るのですが、ここで何分経っても先に進まない状況になり、しびれを切らして、キャンセルボタンを押したりしました。何回かやりなおしましたが同じ状態でしたので、途中で「Bonjour」だったかをインストールするかを聞かれる画面で、このチェックを外したところ、今度はうまくいきました。原因はよく分かりません。

その後は、Windows VistaとXPの時と同じで、まともに使えるように日本語環境などを整えていきました。

1.WebKitPreferences.plistの中のフォント名を全て「MS UI Gothic」に変更しました。
Vistaの場合で、「C:\Users\ユーザー名\AppData\Roaming\Apple Computer\Safari」にあります。XP(私の環境)では、「C:\Documents and Settings\Administrator\Application Data\Apple Computer\Safari」にあります。

2.同様に、WebKitPreferences.plistでカスタム・スタイルシートの設定が可能なように変更しました。
変更方法は、
●Windows版Safariで日本語を扱う方法(完結編)
http://shimax.cocolog-nifty.com/search/2007/06/windowssafari_5630.html
をご参照ください。

この時点でSafariを起動させてみると、大部分のサイトで日本語が正しく表示されましたが、やはりブラウザトップのページタイトル部分の日本語や、フォームのボタンの日本語などは全く表示されませんでした。メニューの英語部分では、不自然に文字が重なる現象が発生していました。そこで、

3.「Lucida Grande」フォントを置き換える

● Windows版Safariで日本語を扱う方法(続編)
http://shimax.cocolog-nifty.com/search/2007/06/windowssafari_1ac4.html

で書いた手法で、Windows版Osakaフォントを改造して、「C:\Program Files\Safari\Safari.resources」にあります「Lucida Grande」と差し替えました。これで完全に日本語化されました。

つまり、VistaやXPでの日本語化のときは、とにかくいろいろ同時に試していたので、どれが効果があるか分からない状況が正直ありましたが、上の3つの方法で解決できるようです。

次にその他の環境整備:

4.ブックマークのクラッシュ対策を行う
● Windows版Safariでお気に入りに登録しようとするとクラッシュする現象の回避
http://shimax.cocolog-nifty.com/search/2007/06/windowssafari_9561.html
の対策を実行しました。

5.フォーム検索でクラッシュする現象に対する対策
Googleなどで検索しようとすると、入力時に高確率で(私の環境では、100%)クラッシュしてしまう現象がありますが、これは自動入力を無効化することで可能です。

● Windows版Safariの不具合(日本語・お気に入り関連以外。SSLの証明書問題など)
http://shimax.cocolog-nifty.com/search/2007/06/windowssafariss_2387.html
の5番の中で記した内容です。


を行いました。これで、Windows 2000でも、XPやVistaと同レベルで動かすことができるようになりました。Windows 2000しか持たれていなくて、Mac版Safariでの動作を知りたくて、Windows版Safariを使ってみたいと思われていた方には朗報ではないでしょうか?(しかし、言うまでもないことだと思いますが、Windows 2000は、システム要件対象外でありますし、さらに、そもそもベータ版ですので、仮に真似される場合は自己責任でお願いします。

===============================================================
▼ Windows版Safariのシェアは約0.11%(2007年6月23日現在)
===============================================================
ここ数日、アクセスログを観察してみると、Windows版Safariのシェアや概ね0.11%でした。約800人に1人が使っている計算になります。(調査サンプルの総数は約27,000アクセスと少ないため、正確ではないですが・・・。)そのうち、Windows2000+Safariでアクセスしているのは、私が試しにアクセスした1件だけでした(VistaとXPはともに15件)。やはり、Apple社のサイトにXPとVista用と書かれているので、試してみる人さえ少ないのかもしれません。



Yahoo! JAPANの検索結果で上位表示する方法

| | コメント (0) | トラックバック (1)

2007/06/18

Mac版IEでGoogle AdSenseの広告が表示されなくなった訳



アクセスログを見ていて、下記の記事が眼に留まりました。

●Mac+IEでAdSenseが非表示 (blog - AdSense Trick)
http://blog.adsensetrick.net/adsense/macieadsense.html
2007年4月5日からそういう現象が起こっているそうです。

早速調べてみると、確かにGoogle AdSenseの広告が全く表示されなくなっています。

実際、Mac版IEでは、広告の種類によってはそういう問題が過去にもあったことがあり、昨年の9月に

●Mac版IEとGoogle Adsenseのテキスト広告(「'CCAX_BT'は定義されていません」エラーの理由)
http://shimax.cocolog-nifty.com/search/2006/09/maciegoogle_ads_40bb.html

という記事を書いたことはありましたが、この時は特定のテキスト広告のときでした。また、エラーメッセージも変わっています。

● Mac版IEでのJavaScriptデバッグ方法(眞鍋かをりさんのブログがMac版IEで正しく表示されない理由)
http://shimax.cocolog-nifty.com/search/2006/09/maciejavascript_86c4.html

の記事で書きましたように、OSXのMac版IE5.23では、エラーメッセージが文字化けしてよく分かりませんので、OS9のMac版IE5.0でデバッグすることにしました。



「')'が必要です」と出ます。show_ad.jsをダウンロードさせていただき、エラーが出ている箇所を特定しました。その箇所をそのまま掲載することは問題があるかもしれませので、ここでは書きませんが、下記の簡単なスクリプトで、Mac版IEや、Netscape 4.7xのような化石のようなブラウザを除き、「yes」と表示されるはずです。

▼ テストプログラムのソース
「if("2" in a){」の行でエラーが出ます。「aという変数名の配列の中に、添え字が2になる値は存在するか?」という意味になるかと思います。この使い方がMac版IEやNetscape 4.7では理解できないようです。Netscape 6.1のような化石のブラウザでも動作しましたので、このプログラムに関して言えば、Mac版IEはNetscape 4.7と同等か、少なくともNetscape 6.1以下ということになるのかもしれません。上記プログラムを検証するページはこちらにアップしました。

少し調べてみると、4月9日の記事として、「JavaScriptポケットリファレンス」の作者として有名な古籏さんのサイトに、

● 新しい外観になったAdSenseと対象外になったブラウザ
http://www.openspc2.org/Google/AdSense/904/index.html

とありますので、たしかに、4月にそのような変更があったようです。最近、Vistaにはまっていて、Macに触れていなかったので気づきませんでした。

この不具合は、Google AdSense側で修整されなければなりませんが、もしかしたらわざとかもしれません。というのは、2006年9月のころに存在した不具合の場合、Mac版IEで、Google AdSenseの後続のテキストが全て吹き飛んでしまうというとんでもないものであったのに対して、今回の不具合は、Mac版IEで広告が表示されないものの、その他の本文には影響がないので、「ましになった」という判断かもしれません。

Mac版IEの配布が2006年1月に中止になって1年以上になりますが、Mac版IEのシェアはまだゼロではありません。0.6%から0.8%ぐらいあります。OSXの人はSafariやFirefoxという代替ブラウザがありますが、OS9の場合、選択肢がほとんどないため、絶対にゼロにはなりません。エラーが出る箇所は、Mac版IEでもエラーがでない形で書き換えが可能だと思いますから、早くGoogle AdSense側で修整してもらいたいですね。



サイボウズOfficeセキュアASPサービス

| | コメント (0) | トラックバック (0)

2007/06/17

Safari 3 Betaでは旧バージョンの数々の不具合(JavaScript関連など)が修正されています



先日リリースされたSafari 3 BetaはWindows版では入り口のところでまともに動かないことが多くて、細かいところまで気づくことができなかったのですが、日本語環境がやっとまともになってきましたので、旧バージョンでの不具合が修正されているかを調べてみました。

●1.SafariとGoogle AdSense(糸編の漢字が大量出現し、文字化けする場合) -2006/9/25
http://shimax.cocolog-nifty.com/search/2006/09/safarigoogle_ad_90d5.html

で書いた文字化けの原因は、Safariでは、document.charsetもdocument.characterSetもサポートされていないためとしていたのですが、Safari 3 betaではこれらのプロパティの取得が可能になりました。EUC-JPの場合はdocument.charsetもdocument.characterSetも「Extended_UNIX_Code_Packed_Format_for_Japanese」になります。

 今改めて試してみると、最新のSafari 2.0.4では、Google AdSenseの文字化けは起こっていませんね。ただし、document.charsetもdocument.characterSetも2.0.4ではサポートされていないのは変わりません。3.0になってからの(遅ればせの)新機能になります。ですから、Google AdSenseの文字化けが直った理由は、Google AdSense側での対処が何かあったのかもしれません。)

●2.Safariと半角円マーク(EUC-JP編) -2006/9/6
http://shimax.cocolog-nifty.com/search/2006/09/safarieucjp_f4e8.html

EUC-JPのページの場合、半角円マーク「\」でも半角のバックスラッシュ(Macだと、optionキーを押しながら半角円マークが刻印されたキーで入力できます。)でも、ともにフォームデータが送信された時点で「クエスチョンマーク=『?』」に文字化けしてしまうという問題がありましたが、Safari 3 Betaでは修正されています。Windows版でもMac版でも、この問題は起こりません。

●3.Safariと半角円マーク(Shift_JIS編) -2006/9/7
http://shimax.cocolog-nifty.com/search/2006/09/safarishift_jis_6a0f.html

「Shift_JISでエンコードされたページにて、Safariで日本語と共に入力した半角のバックスラッシュが全角のバックスラッシュに文字化けする」という問題がありましたが、Safari 3 Betaでは、この問題は修正されています。

●4.Safariと画像オブジェクトのonloadイベント -2006/9/8
http://shimax.cocolog-nifty.com/search/2006/09/safarionload_6d32.html

画像オブジェクトでonloadイベントやonerrorイベントが正しく動作しない場合がある問題も、Safari 3 Betaでは修正されています。Safari 2.0.4では、特定のケースについて、画像の読み込み失敗しても、onerrorイベントが発生せずに、onloadイベントが発生していました。

●5.Safariとカーソルキー(onkeypressイベント取得時) -2006/9/12
http://shimax.cocolog-nifty.com/search/2006/09/safarionkeypres_a96e.html

の記事で書いた、「4つのカーソルキー(矢印キー)『←』『↑』『→』『↓』を押したときだけ、2回イベントが発生する」という問題は、Safari 3 Betaでは修正されています。

ただし、Safari 3 Betaではなくても、最新のTiger 10.4.9+Safari 2.04では、この問題は発生しません。Tiger 10.4.8+Safari 2.0.4では問題が確認されます。実は、メジャーバージョンアップ時以外でも、細かい修正は行われているということですね。(Pantherの最新版 10.3.9+Safari 1.3.2では修正されていません。以前のままです。)

実に、
●Safariバグ情報(文字化けのメカニズムと解決策など)
http://shimax.cocolog-nifty.com/safari_bug.html

で指摘させていただいた5つの問題とも全て解決されています。Apple開発チームの皆さんの努力に感服するばかりです。私のページを見て改善されたとは考えにくいので、私以外にもこれらの問題を指摘する人の声がそれだけ多かったということもあるのでしょうね。



ネットショップ開業サービス。オンラインショップ構築ならMakeShop!

| | コメント (0) | トラックバック (0)

2007/06/15

Windows版Safariで日本語を扱う方法(完結編)



先日、

● Windows版Safariで日本語を扱う方法(続編)
http://shimax.cocolog-nifty.com/search/2007/06/windowssafari_1ac4.html
の中で、

スタイルシートなどで日本語の混じったフォント(「MS ゴシック」など)を指定している場合、その部分は全く表示されません。
と書きました。

この問題に対する解決策が見つかりました(というより、私の上記記事に対するコメントとして教えていただきました)。

●Safari 3B for Windows で日本語表示 (suisui weblog)
http://suisui.dip.jp/mt/suisui/2007/06/safari_3b_for_windows.html

にある解決策でバッチグー(古い?)です。

●Windows版Safariの不具合(日本語・お気に入り関連以外。SSLの証明書問題など)
http://shimax.cocolog-nifty.com/search/2007/06/windowssafariss_2387.html

の中で書かせていただいたカスタム・スタイルシートが読み込まれていない問題もsuisui blogさんの記事で解決されます。

結局、カスタムスタイルシートのパスが「c:\hogehoge\hoge.css」などという形式でWebKitPreferences.plistに登録されるのが原因ということでした。これをURI形式にして、「file:///c:/hogehoge/hoge.css」にすればいいということらしいです。WebKitPreferences.plistは、Vistaの場合で、「C:\Users\ユーザー名\AppData\Roaming\Apple Computer\Safari」にあります。XP(私の環境)では、「C:\Documents and Settings\Administrator\Application Data\Apple Computer\Safari」にあります。

早速、WebKitPreferences.plistにおけるWebKitUserStyleSheetEnabledPreferenceKeyがtrueになっていることを確認した上で、WebKitUserStyleSheetLocationPreferenceKeyの値をURI形式にししたところ、うまくいきました。

私も、Debugメニューを有効にする際(こちらの記事を参照してください。)に、WebKitPreferences.plistの中にありますWebKitUserStyleSheetLocationPreferenceKeyの存在は気になっていました。で、半角円マーク「\」が問題かもしれないと「/」(スラッシュ)に変更して、「c:/hogehoge/hogehoge.css」に変更するまではやっていたのですが、「file:///」をつけるのは思いつきませんでした。正直、プログラマーの端くれとして、自分で最初に発見したかったです。ああ、何で思いつかなかったのだろうと自責の念。

非常に分かりづらいと思いますが、今にして思えば、カスタム・スタイルシートを「C:\hogehoge\hoge.css」形式で指定しているとき、下記のように「There was one error opening this page. For more information, choose Activity from the Window menu.」と表示されていたんですよね。



この時点で気づくべきでした。日本語が完全に表示されるようになった喜びとともに、この解決方法に気づかなかった自分に少し腹が立ちます。



エンジニアが失敗しない転職をするためには?

| | コメント (2) | トラックバック (1)

Windows版Safari(β版)で、改行を含む文字列をalertで表示させると変になる不具合



のようなコードを書くと、改行コードである「\n」の処理が正しくされないようで、



妙な半角スペース(もちろん「\n」の亡霊)が2行目の頭に出現します。ちなみに、「\n」ではなく、「\r\n」としても同じです。

Mac版のSafari 3には、この不具合はありません。

| | コメント (0) | トラックバック (0)

2007/06/14

Safari 3のリサイズできるテキストエリアについて(スタイルシートで制御する方法)

Safari 3のβ版の不具合ばかりがどうしても目に付きますが、なかなか便利と思う新機能もあります。例えば、テキストエリアのサイズをマウスで右下をつまんで、広げたり狭くしたり、変更できるのです。

ただ、ユーザー側には便利な機能でもウェブマスターの中にはそのようにされたくない人もいるかもしれません。例えば、レイアウトが崩れてしまうなどの問題が考えられます。あるいは、本質的な解決策では全くないのですが、テキストエリアのデフォルトの大きさで、だいたいのメッセージの分量を暗黙のうちに悟らせたい(あまり長い文章は送ってこないでほしい)場合などは、リサイズを制限したいかもしれません(結局は、サーバ側プログラムでlengthチェックをしなければなりません)。

そのような場合、解決策があります。スタイルシートの設定で可能なことをWindowsとMacのSafari 3で確認しました。

1.リサイズを完全に禁止したい場合:
<textarea cols=70 rows=10 name=message style="resize:none;"></textarea>

2.リサイズを縦方向にだけ許可し、横方向は禁止したい場合
<textarea cols=70 rows=10 name=message style="resize:vertical;"></textarea>

3.リサイズを横方向にだけ許可し、縦方向は禁止したい場合
<textarea cols=70 rows=10 name=message style="resize:horizontal;"></textarea>

4.リサイズの許容最大値・最小値を設定する
<textarea cols=70 rows=10 name=message style="max-width:700px;max-height:500px;min-width:300px;min-height:80px;"></textarea>

なお、リサイズできるのはテキストエリアのみで、「input type=text」には適用されないようです。ああ良かった。



ホスティングサービス2万6千社のビジネス利用の実績。50種類以上の機能を標準搭載し、ギガディスク時代に対応した安心のディスク容量を提供。

| | コメント (0) | トラックバック (0)

Windows版Safari、早くもセキュリティ・アップデート(3.0.1リリース)



リリース直後からセキュリティホールがいくつか見つかったと話題になっていたSafariですが、早速対応してくれたみたいです。3.0.1がリリースされ、リリースノートには、「Safari Beta 3.0.1 for Windows is recommended for all users and improves its security.」とあります。バグ・フィックスではないようです。

関連記事:
●「Windows版Safari 3.0はセキュアでない」:研究家らが早くも指摘[CNET Japan]
http://it.nikkei.co.jp/security/news/index.aspx?n=RS2035074213062007

--- 2007年6月14日 18時15分ごろ追記start --
アップデートを済ませたら、EドライブにインストールしたはずのSafariは削除され、勝手にデフォルトのC:\Program Files以下に移動させられました。せっかく、「Lucida Grande」と「Lucida Grande Bold」対策をしたのに、起動すると今度はメニューが完全に消えました。見えません。Windows版Safariで日本語を扱う方法(続編) で書いた方法をやってもうまくいきません。「Lucida Grande.ttf」を別名で保存しても復活します。振り出しに戻りました。セキュリティ・アップデートではなかったわけ?
--- 2007年6月14日 18時15分ごろ追記end --

--- 2007年6月14日 20時20分ごろ追記start --
その後、落ち着いて、もう一度Osakaフォントのunicode版をダウンロードして、ttfname3.exeでXMLファイルをもう一度作成。そして、そのXMLファイルを編集してLucida Grandeというフォント名になるようにして、C:\Program Files\Safari\Safari.resourcesの「Lucida Grande.ttf」と置き換えたところ、メニューの日本語なども復活しました。一瞬あせりました。このアップデートは単なるセキュリティアップデートでない可能性もありますね。お気に入りを扱うとクラッシュする問題もフォルダー名を変えなくても落ちないようになっていますし・・・。
--- 2007年6月14日 20時20分ごろ追記end --

| | コメント (0) | トラックバック (0)

Windows版Safariの不具合(日本語・お気に入り関連以外。SSLの証明書問題など)



Windows版Safariのベータ版がリリースされてから、記事を連日書いていますが、その記事の一覧を下記にまとめました。

●Windows版Safari(β版)まとめ
http://shimax.cocolog-nifty.com/safari_for_win/

日本語関連と「お気に入りでクラッシュする問題」が一番大きな問題だとは思いますが、実はその他にも問題があります。特にMac版Safariには存在しない不具合について今回はご紹介したいと思います。

  • 最初の記事でも書いたことですが、JavaScriptのdocument.lastModifiedがWindows版Safariの場合、常に空になります。サーバから最終更新日が返ってきても、常にdocument.lastModifiedの取得に失敗します。Mac版Safariのbeta3にはこの不具合はありません。

  • まだ、実装していないだけということかもしれませんが、SSLの鍵マークをクリックしても、Windows版Safariではうんともすんとも言いません。Mac版Safariでは、SSLの鍵マークをクリックすると証明書がちゃんと表示されます。(また、鍵マークはウインドウを最小化したり閉じたりするボタンの近くに表示されるのですが、ぜんぜん目立ちません。ぜんぜん目立たないのは、Mac版も同様ですが・・・。)SSLの証明書が表示されない件は、こちら(英語)でも議論されています。

  • カスタム・ユーザーCSSを登録しても反映されないようです。メニューの「Edit」→「Preferences」→「Advanced」でスタイルシートの設定を行っても、全く反映されていないように見えます。



    Mac版では、期待した動作(たぶんこういう風に動作するのであろうという予想)とは異なるものの、一応は動いています。例えば、テキストのcolorをページ内で特に指定していない場合、Mac版では、赤色でも何色でもここで指定した色になりますが、Windows版では、どうも動いていないようです。そもそも、このユーザースタイルシートが常に優先されるのかというとMac版でも違うみたいなので、どういう挙動が仕様なのかはっきり分からないことは分からないのですが・・・。

    このカスタム・スタイルシートが使えれば、「日本語名のフォントがページ内のスタイルシートで指定されているためにテキストが表示されない問題」を回避できるかなと思ったのですが、これも駄目なようです。

    このカスタム・スタイルシートの問題は、「Apple Discussions」(英語)でもここ1ここ2などで議論されています。

    --- 2007年6月15日17時55分ごろ追記start ---
    本現象に対する解決策を本ブログの記事に対するコメントで教えていただきました。それをまとめましたのが、

    ●Windows版Safariで日本語を扱う方法(完結編)
    http://shimax.cocolog-nifty.com/search/2007/06/windowssafari_5630.html
    です。
    --- 2007年6月15日17時55分ごろ追記end ---

  • ただ実装されていないだけで不具合ではないと思いますが、Windows版では、ページをWeb Archive形式での保存はできません。HTML形式でしか保存できないようです。

  • フォーム内で何か入力しようとすると、クラッシュします。100%。これはかなり大問題です。
    --- 2007年6月14日21時4分追記 start ---
    やはり、「Apple Disucussions」でも話題になっていました。Autofill(自動入力)を無効にすればいいようです。メニューの「Edit」→「Preferences」→「Autofill」ですべてのチェックをはずしたところ、クラッシュしなくなりました。しかしながら、日本語はなぜか入力できません。とほほです。
    --- 2007年6月14日21時4分追記 end ---


| | コメント (1) | トラックバック (0)

Windows版Safariで日本語を扱う方法(続編)



Yahoo! BB

今回、Windows版Safariのベータ版がリリースされた当日、
●Windows版Safariファーストレビュー(日本語環境での利用方法)
http://shimax.cocolog-nifty.com/search/2007/06/windowssafari_b444.html
という記事を書きましたが、

この時点では、一部のサイトで日本語がやっぱり正しく(=「意図通りに」)表示されない現象がありました。例えば、

  • ページタイトルに日本語が使われているサイトは日本語部分はスペース文字になります。
  • スタイルシートなどで日本語の混じったフォント(「MS ゴシック」など)を指定している場合、その部分は全く表示されません。
  • フォーム・ボタンに設定したラベルなどの日本語は全く表示されません。また、フォームのプルダウンの日本語も全く表示されません。(どこをいじれば日本語が表示されるようになるのか、今のところ分かりません。)
  • JavaScriptのアラート(alert)で表示される日本語は全部スペース文字になります。英数字のみ正しく表示され、完全な虫食い状況。
しかし、これらの問題は、

●いがいがにっき「safari for windows のメニューやページの文字化けを直す」
http://d.hatena.ne.jp/narren/20070612

で紹介されている方法及び、上記サイトからリンクされていました

●最速インターフェース研究会 :: Safari for Windows betaで日本語表示する方法
http://la.ma.la/blog/diary_200706120455.htm

で紹介されている方法により、大部分解決しました。ページタイトルの日本語も正しく表示されるようになり、またフォームボタンに設定したラベルなどの日本語も正しく表示されるようになりましたし、JavaScriptのalertで表示されている日本語もしかりです。これでかなり使えるようになりました。感謝感激です。

しかし、まだ、「スタイルシートなどで日本語の混じったフォント(「MS ゴシック」など)を指定している場合、その部分は全く表示されません」という問題だけは、それでも解決していません。

--- 2007年6月15日17時59分ごろ追記start ---
本現象に対する解決策を本ブ記事に対するコメントで教えていただきました。それをまとめましたのが、

●Windows版Safariで日本語を扱う方法(完結編)
http://shimax.cocolog-nifty.com/search/2007/06/windowssafari_5630.html
です。
--- 2007年6月15日17時59分ごろ追記end ---



PHP・MySQL・SSL対応のレンタルサーバ

| | コメント (2) | トラックバック (0)

2007/06/13

Windows版Safariでユーザーエージェントを偽装する方法

Apple Store(Japan)

Mac版SafariにはDebugメニューという隠しメニューがあり、ユーザーーエージェントを変更(一般には「偽装」といいますね。)したり、JavaScriptのエラーを確認できたりするのでJavaScriptのデバッグに役立っています。Windows版のSafariにも、このDebugメニューを有効にする方法はないかと探してみると、見つかりました。

●Apple - Support - Discussions - Debug Enabled? ...
http://discussions.apple.com/thread.jspa?threadID=993113&tstart=60

この情報に従って、Preferences.plistを探し出しました。Vistaの場合、「C:\Users\ユーザー名\AppData\Roaming\Apple Computer\Safari」の中にありました。XP(あくまでも私の環境)の場合には、「C:\Documents and Settings\Administrator\Application Data\Apple Computer\Safari」にありました。これを秀丸エディタやEmEditorで開いて、

<key>IncludeDebugMenu</key>
<true/>

を追加しました。追加する場所についてですが、

<key>IEFavoritesWereImported</key>
<true/>

の後ろに入れました。保存後、Safariを再起動します。これで、Windows版SafariでもDebugメニューが有効になります。



これで、Windows版IE7やIE6、Firefoxに変身することができます。LinuxのKonquerorにもなれます。ある意味、開発者泣かせの機能であり、自分のサイトでは使ってほしくない機能ですが、開発コストの削減のために安易にWindows版IE以外をシャットアウトしている他人のサイトをSafariで見る分には、役立ちそうです。

また、Debugメニューにより、JavaScriptコンソールの中も見ることができるようになりますので、非常に便利です。


| | コメント (0) | トラックバック (2)

2007/06/12

Windows版Safariでお気に入りに登録しようとするとクラッシュする現象の回避

Apple Store(Japan)

● Windows版Safariファーストレビュー(日本語環境での利用方法)
http://shimax.cocolog-nifty.com/search/2007/06/windowssafari_b444.html

で報告した不具合=お気に入りに登録しようとするとクラッシュする現象への回避策が見つかりました。

● Apple Discussions「Topic: Safari for Windows crashes when trying to interact with bookmarks」
http://discussions.apple.com/thread.jspa?threadID=992867&tstart=0

に掲載されていることを参考にして、「Program Files/Safari/Safari.resources」フォルダーの下の「en.lproj」フォルダーというフォルダー名を「ja.lproj」にリネームするだけでクラッシュするのを防げるようになりました。「en→ja」ということです(他のフォルダーの名称も変えている人の意見が出ていますが、このフォルダー1箇所のリネームで十分そうです)。日本語だからjaにすればいいだけだったのですが、気づかないとなかなか分からないものですね。

---- 2007年6月13日6時26分ごろ追記 start ---
書き忘れていましたが、フォルダーのリネーム後、Safariをいったん終了させて、Safariを再起動させる作業をしないと、うまくいかないと思います。
---- 2007年6月13日6時26分ごろ追記 end ---

また、このフォルダー名のリネームにより、「サーバが見つかりません」エラーの際に表示されていた「Safari is missing important resources and should be reinstalled.」も出なくなりました。これは、ServerNotFoundErrorPage.htmlというテンプレートが見つからないから、再インストールするべきという意味だったんですね。二つの問題が同時に解決しました。



「ヒアリングマラソン中級コース」新開講受付中!

| | コメント (0) | トラックバック (5)

Windows版Safariファーストレビュー(日本語環境での利用方法)



また、Apple社が私たちを驚かせてくれました。Boot Campが最初にリリースされた時も相当驚きましたが、今回、Safariと言えばMacという常識を覆し、Windows版Safari3のBeta版(英語版)がリリースされました。

ダウンロードはここからできます。インストールは難しくないですが、英語版であるということで、日本語環境のことがあまり考慮されていません。Yahoo! Japanを開くといきなり面食らいます。



文字化けしまくりんぐです。ところどころ見える日本語は画像だからで、他は全部文字化けしています。英語は文字化けしません。こういう場合、フォントの設定で直ることが多いです。

そこで、メニューの「Edit」→「Preference」→「Appearence」をあけて見ました。



Standard fontが「Times New Roman」になっています。これは英語フォントですから、これが原因であると考えられます。ところが、「MS 明朝」や「MS ゴシック」などの日本語を含むフォントでは認識しないので、「Standard font」及び「Fixed-width font」を「MS UI Gothic」に設定したところ、Yahoo! Japanの文字化けは直りました。

しかし、これでもまだ問題がいくつもあります。

  • ページタイトルに日本語が使われているサイトは日本語部分はスペース文字になります。
  • スタイルシートなどで日本語の混じったフォント(「MS ゴシック」など)を指定している場合、その部分は全く表示されません。
  • フォーム・ボタンに設定したラベルなどの日本語は全く表示されません。また、フォームのプルダウンの日本語も全く表示されません。(どこをいじれば日本語が表示されるようになるのか、今のところ分かりません。)
  • JavaScriptのアラート(alert)で表示される日本語は全部スペース文字になります。英数字のみ正しく表示され、完全な虫食い状況。
--- 2007年6月14日9時35分ごろ追記start ---
その後いろいろ調べて、上記の「1」「3」「4」については解決策が他のサイトで紹介されているのを見つけました。Windows版Safariで日本語を扱う方法(続編)をご覧ください。
--- 2007年6月14日9時35分ごろ追記end ---

また、その他、XPの端末でもVistaの端末でも、Bookmarksに追加しようとすると100%ブラウザが異常終了します。ですから、お気に入りに登録できません。また、XP2台にインストールしましたが、そのうちの1台は起動がものすごく遅いです。起動というより、最初のページの読み込みが終わるのが異常に遅く2分ぐらいかかります。しかもCPUは激しく動いている音がします。もう一台のXPの端末ではこの現象は発生しません。違いはよく分かりません。

その他、JavaScriptで各ホームページのdocument.lastModifiedを取得しようとすると100%失敗します。サーバの設定によりません。サーバからは最終更新日が返されているにもかかわらず、それを無視しているのか理解できないのか、Windows版Safariでは取得できません。同じBeta3でもMac版のSafariでは、この不具合はありませんでした。また、フォント設定などをせずとも、文字化けせずに日本語のホームページを閲覧できます。

| | コメント (0) | トラックバック (1)

2007/06/02

QuickTime 7.1.6でFirefoxがクラッシュ



Firefox 2.0.0.4に先日アップデートしたんのですが、QuickTimeムービーの部分が「QuickTimeのロゴにクエッションマーク」になっていることに気づきました。あれ、「いつからこうなったんだろう」と思いました。また、Appleの「Movie Trailer」サイトの動画はちゃんと見ることができるの、私のテストサーバにあるQuickTimeムービーはなぜか再生できません。HTMLソースを見ても違いが分かりません。

Firefoxをアップデートしての相性問題が原因かと思って、Firefox 2.0.0.3で試してみましたが、やはり同じように、「QuickTimeのロゴにクエッションマーク」になっていました。そこで、QuickTimeを7.1.6にアップデートすることにしました。それまで、7.1.3を使っていました。最近、QuickTimeのセキュリティホールがいくつも見つかっていて、その修正プログラムが7.1.6には含まれていることを知っていたからです。

●(参照)「QuickTime 7.1.6」公開、セキュリティ修正を含むアップデート
http://internet.watch.impress.co.jp/cda/news/2007/05/07/15598.html

が5月上旬の記事で、さらに5月30日には、

●(参照)アップル、QuickTime最新版のセキュリティアップデートを公開
http://internet.watch.impress.co.jp/cda/news/2007/05/30/15885.html

の記事を読んだばかりばかりでしたので、QuickTimeをアップデートさせる良い機会だと思いました。

ところが、7.1.6にアップデートしたところ、確かにFirfoxで「QuickTimeのロゴにクエッションマーク」は出なくなったのですが、かなりの頻度で、QuickTimeムービーを含むページをFirefoxで開くと、Firefoxがクラッシュするようになりました。IE7やOperaでは問題がないのにです。

もしかして、Vistaであることが原因かと思い、XPで同じようにQuickTime 7.1.6+Firefox 2.0.0.4で試してみたのですが、クラッシュしませんでした。

ただ、Vista端末はまだ一台しかないので、Vista+Firefox+QuickTimeが原因かどうかは断言できません。クラッシュしたし際のレポートは、以下のようになっていました。

問題の署名:
  問題イベント名:	APPCRASH
  アプリケーション名:	firefox.exe
  アプリケーションのバージョン:	1.8.20070.30919
  アプリケーションのタイムスタンプ:	45f23850
  障害モジュールの名前:	ntdll.dll
  障害モジュールのバージョン:	6.0.6000.16386
  障害モジュールのタイムスタンプ:	4549bdc9
  例外コード:	c0000005
  例外オフセット:	0002ee84
  OS バージョン:	6.0.6000.2.0.0.768.2
  ロケール ID:	1041
  追加情報 1:	9ca2
  追加情報 2:	85fdf7d10be75f665575804533075c38
  追加情報 3:	3f59
  追加情報 4:	ef11a5666f99ae25dca94c1109542d7e


そこで、このレポートを中心に検索してみると、同じ症状の報告が結構見つかりました。

● Apple - Support - Discussions - Quicktime 7.1.6 crashes Firefox
http://discussions.apple.com/thread.jspa?messageID=4630001

● Firefox crashes after Quicktime upgrade - mozilla.support.firefox | Google グループ
http://groups.google.com/group/mozilla.support.firefox/browse_thread/
thread/ae141eb7acacb689/c0ea82239174d101


● Used FirefoxBrowser(2.0)to Update QuickTime(7.1.6)..Problems
http://forums.mozillazine.org/viewtopic.php?t=548463

● Quicktime crashing Firefox V2.0.0.3 on one of my PCs only!
http://forums.mozillazine.org/viewtopic.php?p=2882377

● QuickTime is Crashing Firefox 2.0.0.3 / 2.0.0.4
http://forums.mozillazine.org/viewtopic.php?t=553689

これらのサイト及び他のサイトの情報から分かったことは、

1.Firefoxのバージョンは2.0.0.3でも2.0.0.4でも起こりうる
2.VistaでもXPでも起こりうる
3.全ての環境で起こるわけではない。その違いがadd-onの違いなのかは、はっきりしない。

4.QucikTimeムービーがあるページを開いた場合に、100%クラッシュするということではなく、クラッシュうする時もあればクラッシュしないときもある。ただ、クラッシュする確率は少なくとも60%以上という感じ。

ということです。

で、解決策としては、上のサイトでも紹介されていたことですが、とりあえずQuickTime 7.1.6をアンインストールし、7.1.5をここから改めてダウンロードしてインストールしたところ、解決しました。Firefoxがクラッシュしなくなりました。

ダウングレードすることによって、クラッシュはなくなりましたが、セキュリティホールは解決されていないことになりますので、その点はご注意ください。IE7では問題がないので、IE7では7.1.6を用いて、Firefoxでは7.1.5を利用するとかの芸当が出来ればいいのですが、そうはいかないのでしょうね。少なくとも簡単には。ntdll.dllを入れ替えるだけでOKとかなら簡単なんですけど。

| | コメント (0) | トラックバック (0)

« 2007年5月 | トップページ | 2007年7月 »