錯誤試行

PCや生活の試行錯誤の成果を報告するブログ

Android版Firefoxで強制的にリーダービューにする

Androidスマホでウェブページを読んでいると文字が小さくて読みにくいことがあるが、そんなとき文字を大きく表示してくれるFirefoxのリーダービューはとてもありがたい。
しかし、AndroidFirefoxではアドレスバーにリーダビューのアイコンが出ないページは、リーダービューで表示することはできない。
PC版Firefoxなら、アドレスバーからURLの頭に「about:reader?url=」を追加すれば強制的にリーダービューで開くことができるが(開けない場合もある)、AndroidFirefoxではそのURLは無効で、指定してもエラーページが表示されるだけとなる。
AndroidFirefoxでリーダビューのアイコンをタップした際、アドレスバーには一瞬「moz-extension://〜」の表示が出ており、この「moz-extension://〜」の形式でURLを指定する方法が分かれば、ページをリーダービューで開くことができそうである。
そこで、AndroidFirefoxでページを強制的にリーダービューで表示する方法を調査した。



目次



方法

予めリーダービューにしたタブを用意する。
アドレスバーに「about:memory」を入力して開く→「Show memory reports」の「measure」をタップ→下に「Main Process」が表示されるのでページ内検索でリーダービューにしたタブのURLを検索すると、以下のような箇所がいくつかヒットしてアドオンのid([here-is-addon-id])が特定できるのでこれをコピーする。

moz-extension://[here-is-addon-id]/readerview.html?id=000000000000&url=https%3A%2F%2Fexample.com%2Fexmaple.html&colorScheme=dark)/dom
      │   ├──12 (04.33%) ── event-listeners

メモ

アドオンidはデバイス・ブラウザごとにランダムなものが振られる模様。なお、「Other Measurements」に「extensions」の項目があり、そこにもアドオンidが記載されているが、そちらのidを指定してもリーダービューは起動しなかった)。

アドオンidが分かれば、後はアドレスバーに以下のように入力すれば、ページを強制的にリーダービューで開くことができる(「https://example.com/」にリーダービューで開きたいURLを指定する)。

moz-extension://[here-is-addon-id]/readerview.html?url=https://example.com/

辞書登録して使用する(ATOKの定型文機能を利用)

上記のURLを毎回コピペするのは大変なので、辞書登録して使うことにしたい。
Androidの入力方法にはATOKを使っているが、ATOKユーザー辞書の単語登録は文字数の上限が全角25文字(半角50文字)までとなっており、リーダービューにするためのURLは半角75文字ぐらい以上になるので、文字数が上限を超えていて辞書に登録することができない。
そこで、ATOKの機能で長めの文章が登録できる「定型文」機能を利用して登録した。ATOK→詳細な設定→ツール→「定型文ユーティリティ」から登録できる(「インターネット」のカテゴリとした)。

その上で、リーダービューで読みたいページを開いた状態から、

  1. アドレスバーをタップ
  2. 「←」
  3. 左下のキーボードアイコンを上スワイプ→「定型文」→「moz-extension〜」を選択
    ※定型文登録時にリストの上の方に上げておくとラク。また、2回目以降は「定型文」からの右スワイプだけで簡単に選択可能。
  4. 「Go」
とすることで、比較的簡単にページをリーダービューで開けるようになった。

ATOK以外の入力方法で定型文を入力する方法については、アンドロイドで定型文使うにはなどを参照。各種クリップボード拡張アプリでも対応できると思われる(クリップボード - Google Play の Android アプリ)。

ブックマークレットは動作せず

PC版Firefoxでリーダービューを開くように指定したブックマークレットは動作しなかったのでダメだろうとは思ったが、以下のようなブックマークレットをアドレスバーから実行してみたところ、やはり動作しなかった。

javascript:location.href='moz-extension://[here-is-addon-id]/readerview.html?url='+escape(location.href);

その他の方法

  • Pocket(Pocket - Google Play のアプリ)
    Pocketアプリに記事を登録して読んでもよいが、ちょっと読みたいだけなのにいちいちPocketに共有して、アプリ切り替えして、読み込みを待って、とするのはやや面倒。また、Firefoxのリーダービューの方がPocketの「記事ビュー」よりもリーダーモード表示できる確率が高いような気がする。
  • Androidのフォント設定を大きくする
    これでもいいのだが、内容の詳細画面ではない、記事・項目の一覧画面のフォントも大きくなってしまい、一覧性が落ちるのが難点(画面内に一度に表示できる項目の数=情報量が減ってしまう)。
    記事のタイトルのような短文をざっと見ていくだけなら、(ある程度の範囲で)文字が小さくてもいいので、たくさんの項目を一覧できた方がいい。文字を大きくするのは長い文章を読むときだけでいい(個人的には)。
  • えあ草紙リーダーを使う
    縦書き電子書籍ビューア「えあ草紙」のブックマークレットをブックマークに登録してアドレスバーから(補完)入力すると、えあ草紙リーダーが起動するので、えあ草紙の設定(右上「≡」)からフォントを大きくして読む。これもいい方法だが、惜しいことにえあ草紙リーダーをFirefoxで起動すると音引き記号(伸ばし棒「ー」)の文字が消えてしまう問題があるらしいことと、えあ草紙リーダーは背景色が白っぽい色で固定されていて眩しく感じてしまうことがあり、個人的には今回の用途に使うのは難しかった*1

参照サイト

  • [Bugs] Reader mode url issues. · Issue #7455 · mozilla-mobile/android-components · GitHub
    よく分からないが、おそらくモバイル版FirefoxGitHubのページのIssue。以下のように記載されている箇所があり、「moz-extension://アドオンid/readerview.html?url=」のように指定すればリーダービューが開けそうなことが分かる。

    This are caused by the session url being moz-extension://eb8df45a-895b-4f3a-896a-c0c71ae5f6ed/readerview.html?url=...
  • browser - Get add-on id of extensions in Firefox - Stack Overflow
    アドオンidの取得方法。「about:memory」→「Show memory reports」の「measure」→下に「Main Process」が表示されるので「Other Measurements」まで下にスクロールすると「extensions」の項目がある。アドオンのidはランダムであるらしい。が、こちらのextensionsに表示されているidを指定してもリーダービューは起動しなかった。

    Open about:memory. Click "measure" in Show memory reports. In the Main Process section, scroll down to Other Measurements. There you will find the installed (active) extensions with their names and their ids displayed as baseURL=moz-extension://[random-ids].
    (翻訳)
    about:memoryを開きます。「Show memory reports」の中の「measure」をクリックします。「Main Process」セクションで「Other Measurements」までスクロールします。そこに、インストールされている(アクティブな)拡張機能が、名前と「baseURL=moz-extension://[ランダムid]」のようなidで表示されています。
  • Identifying Firefox extension by ID - addons.mozilla.org - Mozilla Discourse(ID による Firefox 拡張機能の識別 - Add-ons)
    アドオンのID(UID)はランダムに生成されることが書かれていた。
  • Add and process reader view history entries · Issue #2879 · mozilla-mobile/android-components · GitHub(リーダー閲覧履歴エントリの追加と処理)
    おそらくモバイル版FirefoxGitHubのページのIssue。リーダービューで表示したページもブラウザの閲覧履歴に追加すべき、という提案だと思われる。リーダービューのURLはPC版Firefoxでは「about:reader?url=〜」だがモバイル版Firefoxでは「moz-extension://[id]/readerview.html?url=〜」となっており、両者のURLの統一は行き詰まっているとのこと。

*1:Dark Readerアドオンで「フィルタ+」モードにすればページ全体の色が反転されて背景色を黒くできるが、ウェブページに画像がある場合には画像まで色が反転してしまう。詳しいことは分からないが、えあ草紙リーダーがHTML5のキャンバスを利用していることが原因らしい。PC版Chromeデベロッパーツールでオーバーライドという仕組みを使えば画像の色を反転させずに背景を黒くすることが可能で、デスクトップPCではそのようにして背景を黒に設定して、オンライン小説など長文を読む際に重宝している。また、Chromeならモバイル版でも音引き記号は正常に表示されるので、白っぽい背景が許容できるならモバイル版Chromeでえあ草紙リーダーを起動して読んでもよいだろう。