Deprecated: Function ereg() is deprecated in /virtual/bsakatu/module/xml_declaration.inc on line 4
メモ帳日記 : FirefoxでSVGが表示できない
  1. メモ帳日記 >
  2. PC >
  3. FirefoxでSVGが表示できない

メモ帳日記

日記書いたりメモ書いたり

2006年 12月 26日(大安

FirefoxでSVGが表示できない

croczilla.comSVGというフォーマットの画像を見ることができる。このフォーマットは,画像を点の集合体ではなく,線や面などの図形の集合体として扱うベクターグラフィックであるため,いくら拡大・縮小してもなめらかに表示される。つまり,俺好みの形式だ。しかし……。

題名のとおり,FirefoxでSVGが表示できなくて困った。いや,表示ができないというより,表示しようとするとダウンロードダイアログがでてみることができないという感じだ。使っているFirefox のバージョンは2.0.0.1 だから,svg.enabled がtrue になってネイティブ実装が有効化されているのに,どうしても表示できない。実際にsvg.enabled を調べてもtrue にちゃんとなっている。おまけに,表示できないのは拡張子が.svg のファイルのみで,中身がSVGなファイルでも拡張子が.xml なら表示されるというわけのわからなさ。

あまりにわけがわからないので,Firefox のプロファイルを作り直してテストをしてみると,やはり初期の状態では表示される。で,最初はextention が悪さをしているのかと思ってどんどん入れ直すもある時を境にまたしても同じ状態に。このせいで,何時間もあーでもないこーでもないといろいろいじっていた。

まあ,いろいろやって,やっと解決の糸口をつかんだ。それは,Proxomitronが関わっているのではないかという点。最初はキャッシュをあまり意識していなかったから,Proxomitronに考えが至っても動作が意味不明で確信を持てなかった。しかし,キャッシュをページを表示するごとに消してテストしてみると,Proxomitron を通して表示しているときに限って,今回の問題は起こるようだ。そこで,Proxomitron のログを見ると,どうもMIME type のフィルタリングで何かやらかしているようで,見てみると……,拡張子が.svg のファイルは問答無用でimage/svg-xml にされていた。Firefoxは仕様に厳格だから,存在しないimage/svg-xml なんてMIME type は無視しやがる。で,正しいMIME type はimage/svg+xmlなので,たった1byte 書き換えてみると,見事に問題は解決した。あー,俺の半日はたった1byte のために消えていった……orz 飲み会明けの土曜日並に不毛だった。

ほんと,Proxomitron は諸刃の剣だ。使い方を誤るとろくな事にならない。いや,むしろ今回はimage/svg-xml なんて書きやがったやつが悪い。もう疲れた。だるい。俺の時間を返せ−−!!