Double click the right button (or press Alt + right button) on the picture or link, and you can copy the Pixiv work ID.
// ==UserScript== // @name 快速复制Pixiv ID // @name:en Fast copy Pixiv ID // @name:ja 急速にコピーPixiv ID // @description 对图片或链接双击右键(或按Alt和右键)即可复制Pixiv作品ID // @description:en Double click the right button (or press Alt + right button) on the picture or link, and you can copy the Pixiv work ID. // @description:ja 画像またはリンク上で右キー(または、alt及び右ボタン)をダブルクリックして、pixiv作品idをコピーすることができる。 // @version 1.25 // @namespace https://github.com/VMatrices // @author VMatrices // @include *://www.pixiv.net/* // @include *://www.pixivision.net/* // @include *://saucenao.com/* // @include *://iqdb.org/* // @icon https://www.pixiv.net/favicon.ico // @grant GM_setClipboard // @grant GM_notification // ==/UserScript== (function() { 'use strict'; var match_rules=[ /([_=:;&\-\/\.\?\d\w]+?illust_id=(\d+)(?:&|$|))/i , /(http(?:s|):\/\/[_\-\/\.\d\w]+?\/(\d{4,})_p\d{1,4}[_\-\/\.\d\w]*)/i ]; var preTime=0, preElemnt=null, baseURL=document.URL.match(/(.+)\//)[1], isEdge=navigator.userAgent.indexOf("Edge")>0; window.addEventListener('contextmenu',function (event) { var el = event.target; if (el != null) { var nowTime=new Date().getTime(); if((nowTime-preTime<500&&preElemnt==el)||event.altKey){ var url,pid; var HTML=el.outerHTML; for(var i in match_rules){ var results=HTML.match(match_rules[i]); if(results!=null&&results.length>1){ url=results[1]; pid=results[2]; break; } } if(pid!=null){ if(url.indexOf("http")<0){ url=baseURL+url; } console.log("PID:",pid,"URL:",url); var imgMatch=el.outerHTML.match(/http(?:s|):\/\/i\.pximg\.net\/\w\/[\w\d_]+?\/img-master\/img\/((?:\d+\/){6,}\d{3,}_p\d+)_\w+\d{3,}\.(?:jpg|png)/); var img=imgMatch!=null?"https://i.pximg.net/c/250x250_80_a2/img-master/img/"+imgMatch[1]+"_square1200.jpg":"https://www.pixiv.net/favicon.ico"; GM_setClipboard(pid); if(isEdge){ prompt('Pixiv illust ID: '+pid,pid); } else GM_notification({ title:'Illust ID: '+pid, text:'https://www.pixiv.net/member_illust.php?mode=medium&illust_id='+pid, image:img, timeout: 5000 }); event.preventDefault(); return false; } } preTime=nowTime; preElemnt=el; } }); })();