Safari3 for Winのブックマーククラッシュ解決策
2007-06-22


こりゃすげー

たいした情報を載せてるワケではないのに、いまだに「safari3」とかのキーワードでいろんな方がおとずれてくださる昨今、新しいネタをコメントで教えていただいた。なんとブックマーク操作で落ちるのを回避できるというのだ!

教えてくださったのは「WEBプログラミング NOW!」さんで、ご自分のエントリ「Windows版Safariでお気に入りに登録しようとするとクラッシュする現象の回避」へのリンクを示してくださった。なんとこの記事、6/12に公開されていて、さらにびっくり。

ということで試してみたり。

「Program Files/Safari/Safari.resources」フォルダーの下の「en.lproj」フォルダーというフォルダー名を「ja.lproj」にリネームするだけでクラッシュするのを防げるようになりました。 にあるとおり、インストールフォルダ下にある、言語ごとのリソースフォルダをja対応にリネームすることで回避できるらしい。

これって、「ファイルシステムにリソースがあるものとみなし」てコーディングしてあるってことか?...まいったな...

なので、実際にはなにが存在しないから落ちるのかを検証してみることにした。

まず、元ネタでは「en.lproj」を「ja.lproj1」にリネームとの方法だったが、en.lprojをコピー後リネームした。

Safariを起動すると、ブックマークツールバー(っての?)に、いままで現れてなかったブックマークが出現している。

[LINK] (禺画像])
[LINK] (禺画像])
...違いがわかりづらかったなorz...

この状態ならもちろんブックマークすることも可能だ。ふむ。

どれが原因だ?

ほんじゃ「ja.lproj」内のファイルを1つづつリネームしてみるべ。

あれぇ、あとは.htmlだから関係なさそうだなぁ。んじゃja.lprojを消してみるべ。 → 無問題

って事は...

ブックマークデータがApplication Data下にコピーされてるんか。それがないとだめなんか。

と思って%APPDATA%/Apple Computer/Safari を覗いたら「Bookmark.plist」が今さっきの更新日時で存在してるじゃない!

ってことで、

てな具合になった。

結論

要するにブックマークファイルが存在してればブックマーク関連でクラッシュはしないってことだ。一応この作業でクラッシュ回避可能なはず。

  1. インストールフォルダ/Safari.resources/en.lproj/BuiltInBookmarks.plist を%APPDATA%/Apple Computer/Safariにコピー
  2. コピーした「BuiltInBookmarks.plist」を「Bookmarks.plist」にリネーム

けど...

また、このフォルダー名のリネームにより、「サーバが見つかりません」エラーの際に表示されていた「Safari is missing important resources and should be reinstalled.」も出なくなりました。 とあるので、上記方法ではこれでは回避できないのだ。なのですなおに「ja.lproj」にしたほうがよいな。

追記(2007.06.22 03:37)

ja.lprojフォルダがある場合、検索サイトでの検索が可能だった(ja.lprojがないと従来どおりクラッシュ)。なので、あとの問題はメニューなどのアプリケーションが描画するUI関連の日本語表示くらいかな。あ、日本語入力できないか。


続きを読む

[PC]
[web]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット