2008年11月27日

Yahoo!コミックをFireFoxで読む方法 ~おかわり~

半年前に試した方法は暫く前から「IESearch Error」なんて怒られるようになってしまいました。 このエラーの回避策を探ってみたところ、全体の設定手順が簡単になったので紹介します。
対策されないようにコッソリ使いましょう。 (´ -ノω-`)コッソリ

新しい手順は次の通り。環境はXP SP3とFirefox 3.0.4です。

 以前の方法ではIE View Liteアドオンと連携させていましたが、今回はIE Tabアドオンだけで十分になりました。 しかもちゃんとFirefoxのタブの中で電子書籍ビューア(DOR)が表示されますよ。 ( ̄ー ̄)ニヤリ


IE Tabアドオンの導入
 IE TabアドオンはWebページをFireFoxのタブ内にIEのレンダリングエンジンで表示するための拡張機能です。 MSDNライブラリ(http://msdn.microsoft.com/*)など、IEでしか正常に表示されないサイトを登録しておくと便利になります。 (・∀・)イイ!!

アドオンのインストールと設定は[ツール]→[アドオン]メニューから。


 Yahoo!コミックはIE専用サイトなので、開いたときにIE Tabアドオンで表示されるよう設定します。


サイトフィルタに「http://comics.yahoo.co.jp/*」を追加。


 まずこれでFireFoxからYahoo!コミックを開いた際に[読むボタン]が表示されるようになります。 ただし[読むボタン]を押しても「IESearch Error」となってしまうはずです。(´・ω・`)ショボーン


Firefoxをコピーして偽IEを作る
 「IESearch Error」がどんなエラーかは読んで字の如く、「インターネットエクスプローラーが見つからないんです(><;)」という意味でしょう。  電子書籍ビューア(というかテルテン)がActiveXを使うため、Yahoo!コミックはIEで開く必要があります。 しかしそこは既にIE Tabアドオンでクリアされているはず。 ではコイツは一体何が気に入らないのかというと、IEのレンダリングエンジンを使用しているプロセスがfirefox.exeなのが気に入らないと主張してきているわけです。

ActiveX厨氏ねよ。( ゚д゚)、ペッ


firefox.exeをコピーしてiexplore.exeを作る


 一旦Firefoxを全て終了し、作成したiexplore.exeをダブルクリックします。 すると当然いつも通りのFirefoxが起動するわけですが、何が違うのかというとタスクマネージャーを表示してみてください。Firefoxが起動しているのにプロセスのイメージ名がiexplore.exeとなっています。
(※本物のIEを起動するとiexplore.exeが2つになります。)

この状態で電子書籍ビューアを開くと「IESearch Error」とならず、FirefoxでYahoo!コミックを読むことができます。 ∩( ・ω・)∩ ばんじゃーい


iexplore.exeなFirefoxが起動している状態


 ただしこの方法には重大な欠点があります。 それはFirefoxがバージョンアップしたときにコピーしたiexplore.exeは更新されないということです。セキュリティホールを放置する事態になりかねませんので、Firefoxがバージョンアップしたら忘れずにコピーし直してください。


コピーより便利なハードリンクを使う
 NTFSには1つのファイルに複数の名前を付けるハードリンクという機能があります。 偽iexplore.exeをハードリンクとして作成すれば「firefox.exeの更新=偽iexplore.exeの更新」となるため、Firefoxがアップデートされてもコピーし直す必要がありません。 (・∀・)イイ!!


 ただハードリンクを使おうとした場合に気になるのが、「どっちの名前でプロセスが起動するの?」というお話。 本件では「IESearch Error」を回避するためにFirefoxのプロセスが“iexplore.exe”というイメージ名で起動されなければなりません。 ハードリンクを使った場合はfirefox.exeと偽iexplore.exeのどちらをダブルクリックしても実行されるのは同じEXEファイルなわけですから、「どっちの名前で~」って話は非常にややこしいのです。(´・(ェ)・`)クマー

何度か試してみたところ、いくつかあるハードリンクのうち最初に起動したものの名前が使われてる感じでした。 (例えばA.exe、B.exe、C.exeという3つのハードリンクがあった時、Windowsの再起動後B.exeを最初に実行するとその後A.exeやC.exeを実行してもイメージ名は“B.exe”となる。)

こうならない環境の人はfirefox.exeをコピーする方法を使ってください。


 さて、肝心のハードリンクはコマンドプロンプトから次のように作成します。
※XPとVistaでハードリンクを作成するコマンドが違います。

XP> cd C:\Program Files\Mozilla Firefox
XP> fsutil hardlink create iexplore.exe firefox.exe

Vista> cd C:\Program Files\Mozilla Firefox
Vista> mklink /H iexplore.exe firefox.exe

すでにfirefox.exeを実行してしまっている状態でしょうから、既定のブラウザを書き変えた後でWindowsを再起動してください。


既定ブラウザの変更
 普段からiexplore.exeの方のFirefoxを使っていないと、いざYahoo!コミックにアクセスしてもシームレスに閲覧できないのでちっとも便利じゃありません。 そこでスタートメニューの[インターネット]アイコンをクリックした際に起動するFirefox(既定のブラウザ)をiexplore.exeに変更します。

レジストリで既定のブラウザの実行パスを変更


 regeditを起動し、「HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\FIREFOX.EXE\shell\open\command」の値を「C:\Program  Files\Mozilla Firefox\iexplore.exe」に変更します。 このキーは既定のブラウザがFirefoxに設定されている時に実行されるファイルを指しています。

Firefoxが起動される経路はスタートメニュー以外にもファイルの関連付けなど色々あります。
一番よく使うショートカットをiexplore.exeに変更しておくとよいでしょう。



(追記:2008-12-18)Firefoxが3.0.5に更新されたら、レジストリの値を直された。Σ(゚Д゚)ガーン
今のところ更新時に何もしなくて良い方法は「ハードリンクで作成した偽iexplore.exeをスタートアップに登録しとく」かな。

【関連記事】
Yahoo!コミックをFireFoxで読む方法

2 件のコメント:

siva さんのコメント... 2008年12月3日 2:01
やってみましたが出来ませんでしたorz
すでに対策されたりされたのでしょうか?それとも私が何かまちがっているのでしょうか。ほかの方はみれていますか?
ubichupas さんのコメント... 2008年12月6日 1:54
まだ見れますよ。(゚Д゚)y─┛~~

タスクマネージャーを開いて、Firefoxを起動したときに“iexplore.exe”という名前のプロセスが増える状態になっているか確認してください。
コメントを投稿