FireFoxからThunderBirdにRSSを登録する

概要

FirefoxでRSSを読み込むと、簡易RSSリーダの画面になり、外部RSSリーダを選んで登録することができる。・・・・ように見えるが、アプリケーションを選択からThunderbirdを選んでも、Thunderbirdにxmlが表示されるだけで登録されない。

ぐぐってみるとこんなのがあった。Firefoxの設定でなんとかなるようだ。

試した環境は以下の通り

  • WindowsXP SP2
  • Mozilla Firefox 2.0.0.1
  • Mozilla Thunderbird 1.5.0.9

やること

  1. ThunderbirdでRSS用のアカウントを設定しておく
  2. Firefoxの定義ファイルを修正する
  3. Firefoxに新規で設定を追加

ThunderbirdでRSS用のアカウントを設定しておく

既にThunderbirdでRSSを購読している場合は以下の設定が済んでいるはずなので不要。

  1. Thunderbirdのメニューバーからツール>アカウント設定を選択。
  2. 「アカウントを追加」ボタンを押す。
  3. 「RSS ニュースとブログ」をチェックして 次へ
  4. アカウント名を入力して 次へ(デフォルトでは「ニュースとブログ」になっている)
  5. 確認して 完了

Firefoxの定義ファイルを修正する

定義ファイルの位置は、インストールディレクトリ以下のcomponentsディレクトリの中。標準でインストールしてあれば「C:\Program Files\Mozilla Firefox\components」にあるはず。

  1. Firefoxは終了しておく。
  2. 念のためFeedConverter.jsのバックアップを取っておく。
  3. FeedConverter.jsを開くと332行目付近が以下のようになっているはず。
    case "client":
    var clientApp =
    prefs.getComplexValue(PREF_SELECTED_APP, Ci.nsILocalFile);
    //@line 393 "/cygdrive/c/builds/tinderbox/Fx-Mozilla1.8-release/WINNT_5.2_Depend/mozilla/browser/components/feeds/src/FeedConverter.js"
    var ss =
    Cc["@mozilla.org/browser/shell-service;1"].
    getService(Ci.nsIShellService_MOZILLA_1_8_BRANCH);
    ss.openApplicationWithURI(clientApp, spec);
    break;
  4. 上記の部分を以下のように書き換える。
    case "client":
    const PREF_SELECTED_APP_ARGS = "browser.feeds.handlers.application.args";
    const PREF_SELECTED_APP_URIPREFIX = "browser.feeds.handlers.application.uriPrefix";
    
    var clientApp = prefs.getComplexValue(PREF_SELECTED_APP, Ci.nsILocalFile);
    var feedhandlerArgs = safeGetCharPref(PREF_SELECTED_APP_ARGS, Ci.nsIILocalFile);
    var uriPrefix = safeGetCharPref(PREF_SELECTED_APP_URIPREFIX, Ci.nsIILocalFile);
    
    var file = Cc["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
    file.initWithPath(clientApp.persistentDescriptor);
    var process = Cc["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess);
    process.init(file);
    
    if (uriPrefix) spec = uriPrefix + spec;
    if (feedhandlerArgs)
    var args = [feedhandlerArgs, spec];
    else
    var args = [spec];
    
    process.run(false, args, args.length);
    break;

Firefoxに新規で設定を追加

  1. Firefoxを起動する。
  2. アドレスバーに「about:config」と入力する。
  3. ウィンドウ中の適当な場所を右クリックし、新規作成>文字列 を選択。
  4. 設定名に「browser.feeds.handlers.application.args」、値に「-mail」を入力する。
  5. 同様の手順で、設定名「browser.feeds.handlers.application.uriPrefix」、値「feed:」を作成する。
  6. Firefoxを再起動する。(必要かわからないので念のため)

試す

  1. RSSがフィードされているページを表示し、アドレスバーの右の黄色いアイコンをクリックするか、rdfはxmlのあるリンクをクリックする。
  2. フィードリーダーの指定のところのプルダウンメニューで、アプリケーションを選択し、thunderbird.exeを選択する。 標準でインストールしてあれば、「C:\Program Files\Mozilla Thunderbird\」にあるはず。
  3. 「購読」ボタンを押すと、ThundrebirdのRSSアカウントに登録される。

トラックバック(2)

トラックバックURL: https://blog.fairy-land.jp/MT/mt-tb.cgi/88

コメントする

このブログ記事について

このページは、鋼のインフラ担当が2007年1月 5日 10:50に書いたブログ記事です。

ひとつ前のブログ記事は「最近買った京極夏彦」です。

次のブログ記事は「Ruby on Rails 1.2でActiveHeartのtrans_sid.rbが効かない?」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

カテゴリ

ウェブページ

Powerd By

Powered by Movable Type 6.3.2

Google Adsense