MENU

Pixiv Infinite Scroll – Pixivで無限スクロールを可能にするアドオン・ユーザースクリプト

Pixiv Infinite ScrollはPixivに無限スクロール機能を追加する拡張機能・ユーザースクリプトです。
下までスクロールすると次のページが自動で読み込まれる仕組みなので、マウスホイールを動かすだけでイラストを見ることができます。

Pixiv Infinite Scroll – chimaha
github.com


インストール方法

Firefox

AMOから直接ダウンロードできます。
addons.mozilla.org

UserScript (Chrome/Firefox)

  1. VioletmonkeyやTampermonkeyなどのスクリプトマネージャー拡張機能をダウンロード
  2. 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);