Safariの開発コンソールにエラー頻発
エラー内容
Safari開発コンソールを使って作業してると、前々からこのエラーが頻発する。
EvernoteのWeb Clipperが、messages.jsonなるファイルを見つけられず、エラーを吐いてるらしい。
開発時だけWeb Clipperを停止すればいいんだけど、あまりに鬱陶しいので解決策を探してみた。
調査
Googleで検索してみるが、なかなか解決策は見つけられず。
Evernoteの中の人も解決できない?する気がない?のかフォーラムで議論になってても放置されてる感じ。
いろいろ探してみたところ、一つ気になったのは以下のフォーラム内の投稿。
Console errors with web clipper
returns “en-US”, which after the transform turns into “en_US”.
The problem is that under “_locales” there is only “en” (and other languages) but no “en_US”.
So as far as a quick fix, you guys can either rename/copy “en” into “en_US”. That wouldn’t require changing the script itself. Of course a more permanent solution would be to fix the script.
この人の環境の場合、ブラウザの言語環境を取得すると、en_USが取得される。
それが利用されて_locales/en_USにアクセスしにいくけど_localesにはenしかないのが問題。
なのでenをコピーしてen_USにリネームするのがお手軽な解決策だよ、ってことかな。
自分の環境での対応
そういえば、コンソールのエラーに表示されているのは、
safari-extension://com.evernote.safari.clipper-Q79WDW8YH9/25505661/_locales/ja_JP/messages.json
これをSafariのアドレスバーに入力してみると、当然messages.jsonは存在しない旨のエラーが表示される。
試しに、ja_JP → ja と変更、
safari-extension://com.evernote.safari.clipper-Q79WDW8YH9/25505661/_locales/ja/messages.json
これをSafariのアドレスバーに入力すると、messages.jsonファイルが表示された。
そこでMac上でファイル検索してmessages.jsonを探してみたところ、
~/Library/Caches/com.apple.Safari/Extensions/Evernote Web Clipper.safariextension/_locales/
に各ロケールごとのファイルを発見。
SafariのExtension用のキャッシュディレクトリっぽい。
やはり、jaディレクトリはあるが、ja_JPディレクトリは存在しない。
試しに、jaディレクトリをコピーしてja_JPディレクトリを作成。
これでエラー消えた。(一時的に)
キャッシュファイルをいじってるので根本的な解決ではないが、Extension開発をしたいわけではなく、エラーが消えればいいし、これ以上時間使いたくないのでとりあえずこの状態で様子見。
キャッシュされる前のmessagesファイルはExtensionインストール時のArchiveファイル(~/Library/Safari/Extensions/Evernote Web Clipper.safariextz)内に存在するみたい。
Evernoteの中に人の方で、最初から_locales/ja_JPを同梱しといてくれれば良いだけなんだろうけど、やる気ないんだろうか。