您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Replace Pixiv image with original image
当前为
- // ==UserScript==
- // @name Pixiv Replace With Original
- // @namespace https://blog.maple3142.net/
- // @version 0.2
- // @description Replace Pixiv image with original image
- // @author maple3142
- // @match https://www.pixiv.net/member_illust.php?mode=medium&illust_id=*
- // @match https://www.pixiv.net/member_illust.php?mode=manga&illust_id=*
- // @run-at document-start
- // @grant unsafeWindow
- // ==/UserScript==
- (function() {
- 'use strict'
- const $=s=>document.querySelector(s)
- const $$=s=>[...document.querySelectorAll(s)]
- const params=new URLSearchParams(location.search)
- const mode=params.get('mode')
- if(mode==='medium'){
- const PREFIX=Math.random().toString(36)
- Object.defineProperty(Object.prototype,'props',{
- set(v){
- this[PREFIX+'_props']=v
- if(v.urls)onTarget(this)
- },
- get(v){
- return this[PREFIX+'_props']
- }
- })
- function onTarget(target){
- const url=target.props.urls.original
- target.props.urls=new Proxy({},{
- get: ()=>url
- })
- }
- }
- else if(mode==='manga'){
- const id=params.get('illust_id')
- const p=fetch(`/ajax/illust/${id}`,{ credentials: 'same-origin' }).then(r=>r.json()).then(r=>r.body).then(data=>{
- const url=data.urls.original
- const ar=[]
- for(let i=0;i<data.pageCount;i++){
- ar.push(url.replace('p0',`p${i}`))
- }
- return ar
- })
- addEventListener('load',()=>{
- p.then(ar=>{
- const imgs=$$('img.image')
- console.log(imgs,ar)
- for(let i=0;i<ar.length;i++){
- imgs[i].src=imgs[i].dataset.src=ar[i]
- }
- })
- })
- }
- })()