// ==UserScript== // @name 微博图片原图地址批量复制 // @description 点击一条微博下方的“复制”按钮后,就可粘贴到贴吧或者迅雷批量下载,支持相册图片和搜索页面 // @include http://*.weibo.com/* // @include http://weibo.com/* // @version 2.7 // @author yechenyin // @namespace https://greasyfork.org/users/3586-yechenyin // @require https://code.jquery.com/jquery-1.11.2.min.js // @grant GM_setClipboard // @run-at document-body // @downloadURL https://update.greasyfork.icu/scripts/11687/%E5%BE%AE%E5%8D%9A%E5%9B%BE%E7%89%87%E5%8E%9F%E5%9B%BE%E5%9C%B0%E5%9D%80%E6%89%B9%E9%87%8F%E5%A4%8D%E5%88%B6.user.js // @updateURL https://update.greasyfork.icu/scripts/11687/%E5%BE%AE%E5%8D%9A%E5%9B%BE%E7%89%87%E5%8E%9F%E5%9B%BE%E5%9C%B0%E5%9D%80%E6%89%B9%E9%87%8F%E5%A4%8D%E5%88%B6.meta.js // ==/UserScript== jQuery.fn.inserted = function(action, observe_for_once) { var selector = this.selector; if ($(selector).length > 0) { console.log($(selector).length + ' ' + selector + " is loaded at begin"); action(); } var reaction = function(records) { records.map(function(record) { if(record.target !== document.body && $(record.target).find(selector).length) { console.log($(record.target).selector + ' which contains ' + selector + ' is loaded'); action(); if (observe_for_once) observer.disconnect(); } }); }; var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver; if (MutationObserver) { var observer = new MutationObserver(reaction); observer.observe(document.body, {childList: true, subtree: true}); } else { //setInterval(reaction, 100); } }; jQuery.fn.changed = function(action, forEachAddedNode, delay) { var selector = this.selector; var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver; if (MutationObserver) { var callback = function (records) { setTimeout(function() { console.log(records.length + ' ' + records[0].target.className + " is mutated"); if (forEachAddedNode) { records.map(function (record) { console.log(record.target); console.log(record.addedNodes); for (var i = 0; i < record.addedNodes.length; i++) { action.call(record.addedNodes.item(i)); } }); } else action.call(document.querySelector(selector)); }, delay || 0); }; var observer = new MutationObserver(callback); if ($(selector).length > 0) { console.log($(selector).length + ' ' + selector + " is loaded"); setTimeout(function() { if (forEachAddedNode) $(selector).each(action); else action(); }, delay || 0); } else { var check = setInterval(function () { if ($(selector).length > 0) { console.log($(selector).length + ' ' + selector + " is inserted"); clearInterval(check); if (forEachAddedNode) $(selector).each(action); else action(); observer.observe(document.querySelector(selector), {childList: true}); } }, 100); } } }; jQuery.fn.loaded = function(action) { var selector = this.selector; var check = setInterval(function () { if ($(selector).length > 0) { console.log($(selector).length + ' ' + selector + " is loaded"); clearInterval(check); action(); } }, 100); }; if (location.href.indexOf("weibo.com/") > 0) { block = "unlock"; //add_copy_links(); //$(document).on('DOMNodeInserted', '#plc_main', add_copy_links); //$('.WB_feed[node-type="feed_list"]').changed(add_copy_links); $('.WB_row_line, .feed_action_info, .WB_praishare').inserted(add_copy_links); $('.gn_topmenulist li').loaded(function () { $('.gn_topmenulist li').eq(0).after($('