try to take over the world!
// ==UserScript==// @name 微博看h图// @namespace http://tampermonkey.net/// @version 0.1// @description try to take over the world!// @author You// @match https://weibo.com/fangge617/home?wvr=5// @grant none// @include http://www.weibo.com/*// @include http://weibo.com/*// @include http://d.weibo.com/*// @include http://s.weibo.com/*// @include https://www.weibo.com/*// @include https://weibo.com/*// @include https://d.weibo.com/*// @include https://s.weibo.com/*// @exclude http://weibo.com/a/bind/*// @exclude http://weibo.com/nguide/*// @exclude http://weibo.com/// @exclude https://weibo.com/a/bind/*// @exclude https://weibo.com/nguide/*// @exclude https://weibo.com/// ==/UserScript==(function() {'use strict';// Your code here...let canvas = document.createElement('canvas')let ctx = canvas.getContext('2d')function invertImg (originImg) {if (!(originImg instanceof window.Image)) {return}// 跨域let img = new window.Image()img.crossOrigin = 'anonymous'img.onerror = () => window.alert('载入图片失败,可能是跨域问题?')img.onload = () => {[canvas.width, canvas.height] = [img.width, img.height]ctx.drawImage(img, 0, 0)// 反色let imgData = ctx.getImageData(0, 0, canvas.width, canvas.height)for (let i = 0; i < imgData.data.length; i += 4) {imgData.data[i] = ~imgData.data[i] & 0xFFimgData.data[i + 1] = ~imgData.data[i + 1] & 0xFFimgData.data[i + 2] = ~imgData.data[i + 2] & 0xFF}ctx.putImageData(imgData, 0, 0)originImg.src = canvas.toDataURL()}if (originImg.src.startsWith('data:')) {img.src = originImg.src} else {// 防缓存img.src = originImg.src + (originImg.src.indexOf('?') === -1 ? '?_t=' : '&_t=') + new Date().getTime()}}// 监听右键菜单document.addEventListener('contextmenu', event => {if (event.target instanceof window.Image) {event.preventDefault()invertImg(event.target)}})})();