您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Show direct links to download original Flickr image and some other sizes.
当前为
// ==UserScript== // @name Flickr Original Link // @namespace https://greasyfork.org/scripts/1190-flickr-original-link // @include http://*.flickr.com/photos/* // @include https://*.flickr.com/photos/* // @version 4.0 // @grant none // @require http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js // @description Show direct links to download original Flickr image and some other sizes. // ==/UserScript== var action_singlephoto = function() { var size = document.documentElement.innerHTML.match(/"sizes":{(.+?})}/i); var mWidth, mHeight, mLink, mSize, length; var strCss = ".bigButton {display : inline-block; cursor : pointer; border-style : solid; border-width : 2px; border-radius : 50px; padding : 15px 15px; font-size : 10pt; font-weight : bold;} .smallButton { display: inline-block; padding: 0.6em; margin: 0.4em; background-color: pink; border-radius:1.5em;font-size:10pt}"; mSize = size[0].match(/"width":"?\d+"?,"height":"?\d+"?,/ig); mLink = size[0].match(/"url":"[^"]+"/ig); length = mLink.length; for (var k = 0; k < length; k++) { mSize[k] = mSize[k].replace(/"width":(\d+),"height":(\d+),/i, "$1 x $2"); mLink[k] = "http:" + mLink[k].replace(/"url":"([^"]+)"/i, "$1").replace(/\\/g, "").replace(/\.jpg/i, "_d.jpg"); } $('head').append('<style>' + strCss + '</style>'); var insertLocation = $('.sub-photo-right-row1'); if (insertLocation.length > 0) { insertLocation.append('<a class="bigButton" href="' + mLink[length - 1] + '">DOWNLOAD ' + mSize[length - 1] + ' px</a>'); for (var k = 0; k < 7; k++) { if (length - k - 2 > 0) insertLocation.append('<a class="smallButton" href="' + mLink[length - 2 - k] + '">' + mSize[length - 2 - k] + ' px</a>'); } } } var source = ""; var pageType = function() { var title = $('head title').text(); var type = "none"; if (title.match(/flickr.+photostream/i) != null) type = 'photostream'; else if (title.match(/flickr - photo sharing/i) != null) type = 'singlephoto'; console.log("Type = " + type); return type; } var flickr_mouseenter = function() { if ($(this).find('#myFuckingLink').length > 0) return; var photoId = $(this).find('img').attr('id').split("_").pop(); for (var i = 0; i < source.length; i++) { if (source[i].indexOf(photoId) == 8) { var link = source[i].match(/https?[^"]+/)[0].replace(/\\/g, "").replace(/\.jpg/, "_d.jpg").replace(/https/, "http"); var size = source[i].replace(/.+"width":"?(\d+)"?,"height":"?(\d+)"?.*/, "$1 x $2 px"); $(this).find('.attribution-block').append('<div id="myFuckingLink"><a href="' + link + '">DOWNLOAD ' + size + '</a>'); break; } } } var action_photostream = function() { source = document.documentElement.innerHTML.match(/"file":"[^}]+}}/g); if (source == null) return; var t1 = $('a[data-track="prev"]').attr('href'); var t2 = $('span.this-page').text(); t1 = t1.replace(/\/page\d+\//i, "/page" + t2 + "/"); var $div = $('<div>'); $div.load(t1, function() { var source2 = $(this).text().match(/"file":"[^}]+}}/g); source = source.concat(source2); }); $('body').bind('DOMNodeInserted', function() { $('.hover-target').mouseenter(flickr_mouseenter); }); } var type = pageType(); if (type == 'photostream') action_photostream(); else if (type == 'singlephoto') action_singlephoto();