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

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

ของเมื่อวันที่ 10-11-2021 ดู เวอร์ชันล่าสุด

ผู้เขียน
minarai
คะแนน
0 0 0
เวอร์ชัน
0.1.39
สร้างเมื่อ
13-02-2019
อัปเดตเมื่อ
10-11-2021
สัญญาอนุญาต
ไม่มี
ปรับใช้กับ

■ 機能

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

2.対応サイト(ソース参照)で漫画の作者名の横にそのキーワードでWeb漫画アンテナを検索するリンクを追加します
 このリンクを右クリックすると作者名+site:www.pixiv.netでI'm Feeling LuckyかI'm Feeling Ducky検索(乱数で決定)をします
3.対応サイトで新しいタブを開くタイプのリンク(target="_blank")を同じページで遷移するように変えます

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

○漫画各話ページで

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

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

・Shift+Aキーで頭出し機能オンオフ(オンにすると各話ページを開いた時にすぐに1つめのページまでスクロール)
・Fキー(または [ キー)で全画面表示
・Shift+Sキーでスクロール速度変更(0でAPI使用、1で瞬間移動、1.01~で速度指定)
・左に読んでいくサイトで各話最後のページで次のエピソードに移動するリンクがあれば←キーでそれを押す

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

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

○ニコニコ静画(漫画)のみの機能
・Cキーでコメント表示をオンオフ

○ツイコミ(仮)のみの機能
・zキーでページ画像をほぼ画面いっぱいに拡大
・↑↓キーでページをキリよくスクロール


設定はGM_setValue領域に保存されます

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

■ サイト情報の書き方

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

スクリプト冒頭の
const SITEINFO = [ ] の中にサイト1つあたり
{
url: '', // 記述したいサイトのurlにマッチする正規表現
sibling: '', // めくりたいページ要素を指すXPath(/..等で親子階層を合わせることが必要)
header: '', // ページ上部のピン留めされたヘッダ(スクロールにくっついてくる帯みたいなの)の要素を指すXPath
nextEpisode: '', // Enterキーでクリックする次の話へのリンクを指すXPath
prevEpisode: '', // ]キーでクリックする1つ前の話へのリンクを指すXPath
atamadashi: '', // 頭出し機能true時に特定の要素にスクロールさせたい時のXPath
disableSnapWhenPageIsClicked: 0, // 1にするとページ要素クリックでめくる機能を無効
author: '', // 漫画の作者名が書かれている要素を指すXPath
firstEpisode: '', // 第1話を指すXPath
lastEpisode: '', // 最新話を指すXPath
pankuzuUp: '', // Shift+↑でクリックする要素(パンくずリストの1つ上)を指すXPath
leftKey:'', // XPath 画面内にこの要素が入っていたら左キーでそれをクリック
rightKey:'', // XPath 画面内にこの要素が入っていたら右キーでそれをクリック
},
の形式で必要な情報を記述してください(url以外は全て省略可)
追加したらスクリプト冒頭のメタデータブロックにそのサイトに対応する@match文(または// @match *://*/*)も追加してください

■ その他

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

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

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

・全画面化する時の警告表示や暗転のアニメーションが邪魔な時はFirefoxならabout:configを開いて
full-screen-api.transition-duration.enter 0
full-screen-api.transition-duration.leave 0
full-screen-api.transition.timeout 0
full-screen-api.warning.delay 0
full-screen-api.warning.timeout 0
toolkit.cosmeticAnimations.enabled false
等を設定する手があります

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

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


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