您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
修复某些 AutoPagerize 脚本、扩展和附加中出现的第二页或更高版本的延迟加载图像问题。
- // ==UserScript==
- // @name * AutoPagerize LazyLoad Assistant
- // @name:ja * AutoPagerize LazyLoad Assistant
- // @name:zh-CN * AutoPagerize LazyLoad Assistant
- // @namespace knoa.jp
- // @description It fixes the lazy load image problem of some AutoPagerize scripts, extensions or add-ons, occuring on second or latter pages.
- // @description:ja 一部の AutoPagerize スクリプト、拡張機能、アドオンで発生する、2ページ目以降の遅延読み込み画像の問題を修正します。
- // @description:zh-CN 修复某些 AutoPagerize 脚本、扩展和附加中出现的第二页或更高版本的延迟加载图像问题。
- // @include *
- // @version 1.1.3
- // @grant none
- // ==/UserScript==
- /*
- [update]
- Minor fix.
- */
- (function() {
- const SCRIPTID = 'AutoPagerizeLazyLoadAssistant';
- const FLAGNAME = 'lazyLoadAssistant';
- const DATASETS = [
- 'src',
- 'lazySrc',
- 'original',
- 'delay',
- 'img',
- ];
- let name = undefined; //そのページで使われている lazyload プロパティ名は一度確定したら変わらない
- document.addEventListener('GM_AutoPagerizeNextPageLoaded', e => {
- console.log(SCRIPTID, 'event:', e.type);
- const d = e.target; //残念ながら pageElement ではなく document になる
- const imgs = d.querySelectorAll('img'); //ここで FLAGNAME 付きを除外する処理は重いのでシンプルに全取得する
- for(let i = 0; imgs[i]; i++){
- if(name === undefined){
- name = DATASETS.find(n => imgs[i].dataset[n]);
- if(name) console.log(SCRIPTID, 'dataset:', name);
- else continue;
- }
- if(imgs[i].dataset[FLAGNAME]) continue; //処理済み
- else if(imgs[i].dataset[name]){
- imgs[i].src = imgs[i].dataset[name];
- imgs[i].style.opacity = 1; //一部のサイトに必要
- imgs[i].style.visibility = 'visible'; //一部のサイトに必要
- imgs[i].dataset[FLAGNAME] = 'true';
- }
- }
- });
- })();