:reader!
by
noromanba
2018-01-24 [2018/01/24 05:03:06]
[WIP] force activate Reader View/Mode in Firefox
/*
* @title :reader!
* @description [WIP] force activate Reader View/Mode in Firefox
* @include *
* @license MIT License https://opensource.org/licenses/MIT
* @javascript_url
* @bug unworks; waiting for relax about:reader permissions
*/
// similar behavior by Extensions
//
// legacy
// https://addons.mozilla.org/en-US/firefox/addon/activate-reader-view/
//
// android only
// https://addons.mozilla.org/en-US/android/addon/activate-reader-android/
// Issue
// Add webextensions API(s) for reader mode
// https://bugzilla.mozilla.org/show_bug.cgi?id=1286387
(() => {
'use strict';
// Firefox Reader View/Mode Syntax
// about:reader?url=<URL>
const READER_SYNTAX = 'about:reader?url=';
if (location.href.startsWith(READER_SYNTAX)) {
// FIXME about:reader can not access from Content/javascript:-context e.g.
// http://let.hatelabo.jp
// "Error: Access to 'about:reader?url=http%3A%2F%2Flet.hatelabo.jp%2F' from script denied"
//
// native location obj in Reader View
// location.protocol -> "about:" // yap
// location.pathname -> "reader" // oh
// location.search -> "" // oops...
//
// location.assign() can not works
location.replace(new URL(location.href).searchParams.get('url'));
}
// TBD history.back()
// TBD canonical
location.replace(READER_SYNTAX + encodeURIComponent(location.href));
})();
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。