にしし ふぁくとりー(西村文宏 個人サイト)

Presented by Nishishi via Movable Type. Last Updated: 2018/02/19. 10:38:34.

Sakura Scope (2017年11月)

ちょっと倒錯気味な、ただの日記です。(^^;)
これはやばいと思われた場合は、お早めに閲覧を中止されることをお勧め致します。

Firefoxにインストール済みのアドオン(XPIファイル)を抜き出して別のFirefoxに移す方法

FirefoxがVer.57(Quantum)に大型アップデートされて、旧式アドオンは使えなくなってしまいました。
今後は旧式アドオンは手に入れることもできなくなるんだろうな、と思います。
何らかの事情で、しばらくの間はFirefox56の上で旧式アドオンを使い続ける、という選択肢を採る方々も多そうな気がしています。
まあ既存のFirefoxをそのまま使い続けるなら問題はないんですが、新たに構築したFirefox56に対して旧式アドオンを入れたい、ということもあるかもしれません。

そんなときには、旧式アドオンがインストールされているFirefoxから、旧式アドオン本体(XPIファイル)を抜き出して、目的のFirefoxへインストールするという方法が使えます。
以下はその話。

今使っているFirefoxにはインストールされているけどもう手に入らないアドオンをサルベージして他のFirefoxにインストールする方法

まず、説明の前に2種類のFirefoxとして以下のA・Bを定義しておきます。

  • A. 目的のアドオンが既にインストールされている現Firefox
  • B. 目的のアドオンをインストールしたい新Firefox

要は、AのFirefoxからアドオンの本体XPIファイルを抜き出して、BのFirefoxにインストールすれば良いわけですよね。
方法はとても簡単です。

Step.1 目的の旧式アドオンのIDを調べる

まず、AのFirefoxで「トラブルシューティング情報」を出します。

「トラブルシューティング情報」は、アドレス欄に about:support と打てば出てきます。
メニューから[ヘルプ]→[トラブルシューティング情報]でも出てきますが。まあ、アドレス欄に直接打つ方が速いでしょう。
Firefoxのタブの1つとして、下図のように表示されます。

Firefoxの「トラブルシューティング情報」画面

ここを下の方にスクロールすると「拡張機能」という項目があります。ここに、今インストールされているアドオンの名前・バージョン・有効か無効か。IDの各情報がリストで出ています。
ここで、目的のアドオンのID名を調べます。例えば、 {c45c406e-ab73-11d8-be73-000a95be3b12} みたいな感じです。
たいていのアドオンはこのようなランダムな英数字ですが、中にはメールアドレスっぽい文字列になっているものもあります。どちらでも問題ありません。
このIDをメモっておいて下さい。

Firefoxの「トラブルシューティング情報」から拡張機能一覧表を見てアドオンのIDを探す

Step.2 extensionsフォルダから目的のXPIファイルを抜き出す

次に、AのFirefoxからアドオンの本体であるXPIファイルを抜き出します。
先ほどの「トラブルシューティング情報」で上の方を見ると、「プロファイルフォルダー」という項目の右隣に「フォルダーを開く」というボタンがあります。それを押します。
もしくは、自力でFirefoxのProfileフォルダを開いても良いですが。隠し属性が付加されているので、「トラブルシューティング情報」から開いた方が早いと思います。

プロファイルフォルダーを開く

ちなみに、プロファイルフォルダは、Windows10の場合だとだいたい以下のようなパスの位置にあります。

C:\Users\(ユーザ名)\AppData\Roaming\Mozilla\Firefox\Profiles\(ランダムな文字列).default

このプロファイルフォルダの中にあるextensionsフォルダが、アドオンを格納しているフォルダです。
ここにXPI形式でファイルが多数見えます。ここから、先ほど調べたID名がそのままファイル名になっているファイルを探します。
先の例で言えば、{c45c406e-ab73-11d8-be73-000a95be3b12}.xpiのようなファイル名になります。
このファイルをコピーします。

Step.3 アドオンをXPIファイルからインストールする

最後に、BのFirefoxにそのアドオンXPIファイルをインストールします。
このとき、先ほどコピーしたファイルを、直接BのFirefoxのextensionsフォルダに入れてはいけません。たぶんそれでは動きません。
もしBに同じアドオンの別バージョンがインストール済みなのであれば、あらかじめ削除しておいてください。

まず、BのFirefoxで、アドオンマネージャを出します。
アドオンマネージャは、メニューから出しても良いですし、アドレス欄にabout:addonsと打っても出てきます。
このアドオンマネージャのページ上部にある歯車のアイコンをクリックして、「ファイルからアドオンをインストール」をクリックします。

ファイルからアドオンをインストール

そして、先ほどコピーしておいたXPIファイルの場所を出し、XPIファイルをクリックし、「開く」ボタンを押します。
すると、Firefoxが「1つのアドオンのインストールが求められています」みたいなお知らせを出してくるので、インストールを許可します。
すると、アドオンのインストールが完了します。
Firefoxを再起動すれば、アドオンが使えるようになっているでしょう。


以上、今使っているFirefoxにはインストールされているけどもう手に入らないアドオンをサルベージして他のFirefoxにインストールする方法でした。
上記はあくまでも、Firefox56以下の旧式アドオンの場合の話なので注意して下さい。(^_^;)

HTTPS接続の場合でだけTwitter Cardが表示されない問題

うちのウェブサイト内では、多くのページにOGPとTwitter Cardの記述を含めてあります。なのでツイートにURLが含められた際には、概要文とOGP画像が表示されるはずです。
ところが、なぜか、たまにTwitter Cardが表示されない問題があって不思議に思っていました。
よくよく眺めてみると、

  • HTTP接続(=http://~でのアクセス)では、問題なくTwitter Cardは表示されるが、
  • HTTPS接続(=https://~でのアクセス)では、Twitter Cardが表示されない

……ということが分かりました。
HTTPS接続に問題があるのかというとそういうわけではなく、OGP:Imageで指定した画像は、ちゃんとHTTPSでも閲覧できます。もちろんページそのものもHTTPSでちゃんと閲覧できます。
にもかかわらず、Twitter Cardが認識されません。

以下はそれを解決した記録です。

HTTPからHTTPSへ移行させつつあり、ページ自体はどちらでもアクセス可能な状態

うちのウェブサイトでは、全体をHTTP接続からHTTPS接続に移行しつつある途中の段階です。まだHTTPSで全ページが確実に問題なく閲覧できるかどうかを確認していないので、今はHTTP接続でもHTTPS接続でもどちらでもアクセスできる状態になっています。
そのため、Twitterで言及される際にも、http://~のURLが書かれることもあれば、https://~のURLが書かれることもあります。
そして、同一ページであっても、

  • http://~のURLだと、Twitter Cardはちゃんと正しく表示されるのに、
  • https://~のURLだと、Twitter Cardは一切表示されない(画像だけでなく概要文も出ない)

……という現象がありました。

Twitter公式のCard Validatorで調べてみると……

Twitterは、Twitter Cardの表示確認ができる「Card validator」という機能を公式に用意しています。
ここで、HTTPSのURLを入力して「Preview card」ボタンを押すと、

ERROR: Fetching the page failed because other errors.

と表示されてしまって、エラーになります。
ページが読み込めないのだということは分かりますが、肝心のページが読めない原因が「other errors」としか書かれていないので、さっぱり特定できません。(-_-)
しかし、HTTPのURLを入力して「Preview card」ボタンを押すと、

INFO: Page fetched successfully
INFO: 17 metatags were found
INFO: twitter:card = summary tag found
INFO: Card loaded successfully

のように表示され、ちゃんと画像も概要文も表示されます。
なので、Twitter Cardの記述に原因があるわけではないことが分かります。

※そもそも、Twitter Cardの記述自体が認識できないのなら、「No card found (Card error)」などのように分かりやすいエラーが出てきます。

SSLの中間証明書がインストールされていないとTwitter Cardを読んでくれないっぽい?

さて、いろいろググって情報を探してみたところ、さくらインターネットのウェブサーバを使っている場合でSSL証明書を使ってHTTPS化をしているとき、中間証明書がインストールされていない場合にはTwitter Cardを読んでくれない、という情報を見つけました。

ツイッターカードが表示されない-SSLの中間証明書が原因かも?(KOHIMOTO LABO)

早速、ウェブサーバのコントロールパネルにログインして調べてみたところ、「中間証明書がインストールされていません」と表示が出ていました。
そもそも中間証明書なるモノの存在にこのとき初めて気付きました。(^_^;;;
中間証明書がなくてもブラウザ上からのHTTPS接続には何ら問題がなかったので、たぶん気にも留めていなかったのでしょう。

中間証明書がインストールされていません

で、そもそも中間証明書って何なんだ? というところから不明だったんですけども。
さくらインターネットのヘルプ「【ジオトラスト】SSLサーバ証明書のインストール手順:中間CA証明書の取得」を読むと、SSL証明書のように各サイト個別の証明書ではなく認証機関固有の証明書のようで、私が利用しているRapid SSLの場合は、GeoTrustのウェブサイトで公開されている中間証明書をそのままコピー&ペーストすれば良いようでした。

というわけで早速中間証明書をコピー&ペーストしてインストール。
すると、送信から1分も待つことなく、インストール直後から、Twitter Card Validatorで「Page fetched successfully」とテストが通るようになりました。
あっさりです。

中間証明書の文字列を貼り付けて送信

HTTPS接続でTwitter Cardが表示されないのは、SSL中間証明書がインストールされていなかったから!

というわけで、Twitter Cardが表示されないのは、中間証明書のインストール不備が原因だったと確定しました。

これまで、ウェブページの閲覧に関してはHTTPS接続でもちゃんと通信できていたことを考えると、この中間証明書がなくてもSSL証明書の有効性には問題はないってことですよね?
でも、Twitter Cardではエラーになると。
Twitterは、HTTPSでの接続時に中間証明書の存在をチェックするから、ということ?

まあ何にせよ、これでTwitter Cardが表示されない問題は解決しました。(^_^;)

2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

他の月

--- 当サイト内を検索 ---