Pixiv Infinite ScrollはPixivに無限スクロール機能を追加する拡張機能・ユーザースクリプトです。
下までスクロールすると次のページが自動で読み込まれる仕組みなので、マウスホイールを動かすだけでイラストを見ることができます。
Pixiv Infinite Scroll – chimaha
github.com
インストール方法
Firefox
AMOから直接ダウンロードできます。
addons.mozilla.org
UserScript (Chrome/Firefox)
- VioletmonkeyやTampermonkeyなどのスクリプトマネージャー拡張機能をダウンロード
- UserScriptをダウンロード
使用感
このスクリプトは検索結果やブックマーク、フォロー、ユーザープロフィールと様々なページで動作します。
もちろん、新たに読み込んだイラストへのブックマーク機能やフォロー機能にも対応しています。
閲覧制限を設定している場合には、このような表示で読み込まれます。
技術的な話
PixivはAjaxを使用してページを読み込んでいるので、@matchで指定しても動作しません。そのため、このスクリプトでは正規表現を使用して現在のURLとマッチするか確認しています。
const artworkRegex = /https:\/\/www\.pixiv\.net(?:\/en)?\/users\/(\d+)\/(illustrations|manga|artworks)(?:\/(.[^?p=]+))?(?:\?p=(\d+))?/; if (artworkRegex.test(location.href)) { }
ブックマークは追加する時はイラストIDを送信するだけで済みますが、削除する時にはBookmarkIDが必要になります。今回は追加した時のレスポンスに含まれているBookmarkIDをsessionStorageに一度保存し、削除するときにはそれを使用することにしました。保存されていない場合には、https://www.pixiv.net/ajax/user/*/illusts?ids[]=*
にリクエストを送って取得しています。
// ブックマークに追加 sessionStorage.setItem(illustId, json.body.last_bookmark_id); //----------------------- // ブックマークから削除 const getStorageItem = sessionStorage.getItem(illustId); sessionStorage.removeItem(illustId);