Greasy Fork is available in English.

web漫画にショートカットキーを追加

←→で前/次のページ Sでスクロール速度変更 Aで頭出しオンオフ f [で全画面化 Shift+←→か ] Enter で前の話/次の話に移動 Shift+↑で作品情報ページに戻る (ニコニコ静画のみ)Cでコメントオンオフ Hでヘッダ固定追従変更 (作品情報ページで)→で第1話に移動、Enterで最新話に移動、Shift+↑でパンくずリスト1つ上に移動 Shift+@でインスタントsibling登録

Autor
minarai
Instalações hoje
0
Total de instalações
91
Avaliações
0 0 0
Versão
0.1.8
Criado
Atualizado
Licença
N/A
Aplicável a

Descrição do Autor

・ニコニコ静画(漫画)にショートカットキーを追加
・ツイ4にショートカットキーを追加
の内容を含む上位互換なので上記のスクリプトは削除するか無効にしてください

■ 機能

1.対応サイトにショートカットキー(後述)を追加します
ニコニコ静画(漫画)、ツイ4、コミックぜにょん、コミックエッセイ劇場、裏サンデー、やわらかスピリッツ、コミックバンチ、ジャンプルーキー、マンガハック、ヤングエースUP、コミックNewtype、MATOGROSSO、すくパラぷらす、Souffle、comicタタン、cakes(要リロード)、コミックPASH!、よみタイ、note等

2.対応サイト(ソース参照)で漫画の作者名の横にそのキーワードでWeb漫画アンテナを検索するリンクを追加します

■ 追加されるショートカットキー

○漫画各話ページで

・←→で前/次のページまでキリよくスクロール
・画面に中途半端に見えているページ画像を左クリックすると画面のちょうどの位置にスクロール
・画面ちょうどの位置に見えているページ画像を左クリックすると次の画像までキリよくスクロール

・スクロールが画面の上端にいる時に←で前のエピソードに移動
・スクロールが最終画像の位置にいる状態で→で次のエピソードに移動
・Shift+←(または ] キー)で前のエピソードに移動
・Shift+→(または Enter)で次のエピソードに移動
・Shift+↑で作品情報ページに戻る

・Aキーで頭出し機能オンオフ(オンにすると各話ページを開いた時にすぐに1つめのページまでスクロール)
・Fキー(または [ キー)で全画面表示
・Sキーでスクロール速度変更(0でAPI使用、1で瞬間移動、1.01~で速度指定)

○作品情報ページ(seiga.nicovideo.jp/comic/* 等)で

・→で第1話のページに移動
・Shift+→(または Enter)で最新話のページに移動
・Shift+↑でパンくずリストを1つ上に昇る

○ニコニコ静画(漫画)のみで使えるショートカットキー
・Cキーでコメント表示をオンオフ
・Hキーでヘッダ表示固定/追従を切り替える

設定はlocalStorageに保存されます

どの機能が実装されているかはサイトによって違い、使える機能はポップアップヘルプとコンソールのログで表示されます
ただし要素がページに追加されるタイミングが遅いサイトなどで、機能は使えるのにポップアップが出ないこともあります

■ サイト情報の書き方

対応サイトは自分でサイト情報を書いて増やすことができます

スクリプト冒頭の
const SITEINFO = [ ] の中にサイト1つあたり
,{
url: '',
sibling: '',
header: '',
nextEpisode: '',
prevEpisode: '',
atamadashi: '',
disableSnapWhenPageIsClicked: 0,
author: '',
firstEpisode: '',
lastEpisode: '',
pankuzuUp: '',
}
の形式で必要な情報を記述します

内容は
url: 記述したいサイトのurlにマッチする正規表現
sibling: めくりたいページ要素を指すXPath(nextSiblingで次ページを指せるように/..等で親子階層を合わせる必要があります)(省略可)
header: ページ上部にピン留めされたヘッダ(スクロールにくっついてくる帯みたいなの)があればその要素を指すXPath(省略可)
atamadashi: 頭出し機能true時にデフォルト動作(最初のsibling要素)ではなく特定の要素にスクロールさせたい時のXPath(省略可)
prevEpisode: と nextEpisode: ]やEnterキーでクリックする1つ前の話と次の話へのリンクを指すXPath(省略可)
disableSnapWhenPageIsClicked: 1にすると「ページ要素の左クリックで要素にスナップしたり次ページにスクロールする機能」を無効にする(省略可)
author: 漫画の作者名が書かれている要素を指すXPath(省略可)
firstEpisode: と lastEpisode: 第1話と最新話を指すXPath(省略可)
pankuzuUp: Shift+↑でクリックする要素(パンくずリストの1つ上)を指すXPath(省略可)
です

■ その他

・web漫画に~という名前ですが実際は兄弟ノードで縦に記事等が並んでいるサイトなら対応できる可能性があります
デモとしてWeb漫画アンテナ、bokete、類似漫画検索、twitter、5ch等で←→キーが使えます

・サイトの隅々のページまでは動作確認していないので、判定を誤爆するところがあるかもしれません
不便な判定をする時はSITEINFOの該当する行を書き直したり消したりしてください

・ポップアップヘルプの表示時間を変える(または消す)にはスクリプト冒頭の
const PopupHelpMS = 4000;
の数値を増減してください

・ページをスクロールする系の機能はchromium系ブラウザではページズーム率を100%以外に変えると上手く動かなることがあります
一旦別のページに移動して戻ると正常になることもあります

■ インスタントsibling登録機能

「←→キーで前/次の項目へキリよくスクロールする」機能のみ、ソースに触らずに素早く設定して使うことができます
この機能を使うにはソースのメタデータブロックに
// @match *://*/*
を追加してください
そして任意のサイトでShift+@を押すとプロンプトが出るので、めくりたいページ要素を指すXPath(前述のsibling:に対応)を入力してください
サイトによって自動判別で提案するXPathを内蔵しており、それがある場合はそれをフォームに初期値として入れて提案してきます
空欄を入力すると設定を削除します
XPathが適切なら同ドメイン内のページで←→キーが効くようになります
この設定はlocalStorageに保存され、内蔵のサイト情報より優先して利用されます
再度Shift+@を押すとソースに挿入できる形でSITEINFOの一節がプロンプトに出力されるので必要ならソースにコピーしてください


不具合や要望があれば:(Bitmessage)BM-NBKhGgzahPds3f5Ms6ZRJyvZoMNgTYy4