YouTube Playlist Remover
YouTube プレイリスト用のツールスクリプトです。YouTube Playlist Saver および YouTube Playlist Filter との併用を想定しています。 スクロールによってスキャンされた範囲(Range)のうち、フィルタリングによって現在「表示されている」動画を、プレイリストから一括削除する機能を提供します。
機能
一括削除 (Remove Range)
- Remove Range ボタンをクリックすると、**「スキャン済み範囲(画面より上)」および「現在表示されている画面内」の動画のうち、「表示されている(フィルタで隠されていない)」**動画を一括で削除します。
- 安全・確実な設計:
- UI操作のエミュレーション: このスクリプトはDOM要素を直接削除したり隠したりするのではなく、**YouTube標準の削除メニューを自動的にクリック操作(エミュレーション)**します。これにより、YouTube側の内部データとの不整合を防ぎ、安全に削除を実行します。
- フィルタとの連携: YouTube Playlist Filter によって非表示 (
display: none) になっている動画は、たとえ範囲内にあっても削除操作の対象にしません。 - Only MATCHED オプション: このチェックボックスをONにすると、YouTube Playlist Filter によって
[MATCHED]バッジが付与された動画のみを削除対象に限定します。特定の検索条件に合致する動画だけを一括削除したい場合に便利です。 - 視覚的なフィードバック: 実行を開始すると、削除の対象となっている動画の連番(#Index)が一時的に赤太字に変更され、現在どの動画を処理中か(x/y)がパネルに表示されます。
- ⚠️ 注意: ボタンを押すと確認ダイアログなしで即座に削除されます。操作にはご注意ください。
- v0.1.47: Playlist Liteと同様にマウスオーバーでのバージョン表示強調とダブルクリックによる縮小機能を実装。Activeインジケーターを削除。
- 確実な削除同期:
- 削除ボタンのエミュレーション後、アイテムがリストから実際に削除される(YouTube側によって消される)のを待機してから次の動画へ進みます。
- これにより、リストの読み込み状態や順序が崩れるのを防ぎ、確実な一括処理を可能にします。
インストール
- Tampermonkey などの拡張機能がインストールされていることを確認します。
- 以下のリンクをクリックしてインストールします。
👉 Install YouTube Playlist Remover
このスクリプトは YouTube 全体にインストールされますが、主要機能が有効になるのはプレイリストページのみです。
使い方
- プレイリストを開き、不要な動画が画面の上部に隠れるまでスクロールします(あるいはフィルタ機能で絞り込みます)。
- 右下の Playlist Remover パネルを確認します。
- プレイリスト以外のページでは
Inactive表示となり、パネル内容は閉じた状態になります。 - 初回注入時は 1〜3 秒のランダムディレイ後にパネルが表示されます。
- プレイリスト以外のページでは
Removable: Top X (N items)と表示され、削除対象の数が確認できます。- Remove Range ボタンを押して実行します。実行中にもう一度押すと中断を要求し、現在の処理が終わった時点で停止します。
更新履歴
- vnull: フローティングUIのロジック(表示・最小化・ドラッグ)を共通化
- v0.1.48: 「Only MATCHED」オプションを追加。YouTube Playlist Filter と連携し、一致した動画のみを削除対象に限定できる機能を提供。
- v0.1.47: フローティングUIが画面外にある場合は、画面内に自動的に位置を調整して表示するようにしました。
- v0.1.47: UIタイトルバーの機能を統一し、マウスオーバーの協調表示、ダブルクリックによる最小化・全体表示の切り替えを実装。Active/Inactive表示を削除し、非アクティブ時は自動的に最小化するように変更しました。
- v0.1.45: 削除メニューの項目をクリックする直前に赤枠でハイライトし、短い待機時間を挿入して視覚的な確認をしやすく改善。
- v0.1.34: メニューのタイムアウトを10秒に延長。「Wait for removal」オプションを追加(OFF時は1秒ウェイト)。
- v0.1.30: 初期化ディレイを 1〜3 秒のランダムに変更し、同時起動の負荷を分散。
- v0.1.25: 一括削除の多重実行を防止し、実行中の再クリックで中断できるように変更。
- v0.1.17: YouTube全体にインストールしつつ、プレイリストページのみでアクティブ化するように変更。アクティブ状態に応じてパネルの開閉と表示を自動連動。
- v0.1.15: 一括削除の実行中、削除対象となる動画の連番(#Index)を赤太字でハイライト表示するように改善。
- v0.1.14: 削除進捗の表示(x/y)を、削除成功数ではなく処理済み件数ベースに変更し、進行状況がよりリアルタイムに反映されるように改善。
- v0.1.13: 削除操作の開始時に、対象の動画コンテナ (
ytd-playlist-video-renderer) にもフォーカスを当てるように変更。 - v0.1.12: クリック操作のエミュレーション前にフォーカス移動 (
.focus()) を追加。より人間らしい操作に近づけ、一部のフォーカス依存UIへの対応を強化。 - v0.1.11: 削除実行中(Removing...)のステータス表示に、現在処理中の動画番号(#Index)を表示するように改善。
- v0.1.10: 一括削除時、DOMからアイテムが実際に消えるのを待機するように変更(Optimistic UIの廃止)。これにより削除の確実性を向上。
- v0.1.9: レイアウトの崩れを防ぎ安定性を高めるため、一括削除の順序を「下から上(逆順)」に変更。
- v0.1.8: メニューのロード待機、可視性チェック、既存ステートのリセット処理を強化。
- v0.1.7: メニュー開閉とアイテムクリックのエミュレーションを強化。
- v0.1.6: 公開プレイリストなどで表示されるYouTubeネイティブの確認ダイアログ ("Delete this video from playlist?") を自動で処理する機能を追加。
- v0.1.5: 削除対象がない場合に表示されていたアラート (
alert) も削除。 - v0.1.4: 確認ダイアログ (
confirm) を削除し、ボタン押下後すぐに削除を実行するように変更。⚠️ 注意: 誤操作でもすぐに削除が開始されます。 - v0.1.3: 初回公開。