Firefoxでcheckloaduri.enabledの設定が反映されない
Firefoxではセキュリティのためネットワーク上のページからローカルにある画像ファイルなどを読み込めないようになっています。 どうしてもローカルファイルを呼び出す必要がある場合はuser.jsに次のような記述を加えます:
user_pref("capability.policy.policynames", "localfilelinks");
user_pref("capability.policy.localfilelinks.sites", "http://許可するサイト");
user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");
# 他の名前と被らなければ
# "localfilelinks"の代わりに好きな名前を使える
Fx1.5以降はこの書き方でOK...のはずなんだけど何故か上手くいかない!
小一時間格闘して見つけた原因は意外にもアドオンのNoScriptでした。 実はNoScriptには信頼済みサイトからのローカルファイルへのアクセスを許可するかどうかの設定があって、 こっちの設定がuser.jsの記述よりも優先されてしまうようです。 要するに、NoScriptを使ってる人はuser.jsは使わずにNoScriptの設定を変えるだけでOKってことらしい。
設定はNoScript オプション > "詳細設定"のタブ > "Trusted"のタブ > "Allow local links"のチェックボックスから変更できます。 これだとNoScriptで許可したサイトすべてからローカルファイルにアクセスできるようになるので少し怖いかも...でも仕方ないか。
この方法でOGameのスキンをローカルに置けました。
ちなみに、わざわざWeb上からローカルファイルを読み込ませたいのって大体スキンとか高速化とかの目的だと思うんですが、
Firefoxの場合、ローカルファイルのパスはfile://から始める必要があるのでご注意。
例えばc:\ogame\skin\を指定する場合はfile://c:/ogame/skin/みたいな感じで。