Greasy Fork

Greasy Fork is available in English.

Seach All ImageWeb

Easy for myself

目前为 2019-05-08 提交的版本,查看 最新版本

// ==UserScript==
// @name         Seach All ImageWeb
// @namespace    http://tampermonkey.net/
// @version      0.9
// @description   Easy for myself
// @author       You
// @match        https://www.google.com/search?*
// @match        https://cn.bing.com/images/search?*
// @require      https://cdn.staticfile.org/jquery/3.3.1/jquery.min.js
// @run-at       document-end
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    if(window.location.href.substring(0,30) == "https://www.google.com/search?"){
        GMaddStyle(`
        .myK{
            margin-left:645px;
            position: absolute;
        }
        .mybtnWoW{
            height:44px;
            width:70px;
            border-radius: 24px;
            border: 1px solid #dfe1e5;
            text-align:center;
            line-height:45px;
            cursor:pointer;
            float:left;
            margin-top:-46px;
            background:#fff;
            font-size:16px;
            font-weight: bold;
            position: relative;
            z-index:500;
        }
        .mybtnWoW:hover{
            box-shadow: 0 1px 6px 0 rgba(32,33,36,0.28);
            border-color: rgba(223,225,229,0);
        }
        .myck{
            position: absolute;
            display:none;
        }
        .mysk01{
            position: relative;
            width:58px;
            height:30px;
            border-bottom: 1px solid #dfe1e5;
            border-right: 1px solid #dfe1e5;
            border-radius: 0 0 29px 0;
            margin-top:-24px;
            margin-left:20px;
            z-index:100;
        }
        .mysk02{
            border-radius: 0 30px 0 0;
            border-top: 1px solid #dfe1e5;
            border-right: 1px solid #dfe1e5;
            width:30px;
            height:30px;
            margin-top:-31px;
            margin-left:79px;
            background:#fff;
            z-index:90;
            box-shadow: 2px 5px 6px rgba(32, 33, 36, 0.28);
        }
        .mysk03{
            border-radius:24px 0 0 0;
            border-top: 1px solid #dfe1e5;
            border-left: 1px solid #dfe1e5;
            border-right: 1px solid #dfe1e5;
            width:108px;
            height:24px;
            background:#fff;
            margin-top:-1px;
            z-index:80;
            box-shadow: 2px 5px 6px rgba(32, 33, 36, 0.28);
        }
        .mysk04{
            width:85px;
            height:1px;
            background: #fff;
            top: 6px;
            left:24px;
            position: absolute;
            z-index:75;
        }
        .mysk05{
            border-radius:0 0 24px 24px;
            border-left: 1px solid #dfe1e5;
            border-right: 1px solid #dfe1e5;
            border-bottom: 1px solid #dfe1e5;
            width:108px;
            height:205px;
            background:#fff;
            z-index:70;
            box-shadow: 2px 5px 6px rgba(32, 33, 36, 0.28);
        }
        .myxk{
            width:90px;
            height:180px;
            z-index:110;
            top: 17px;
            left:10px;
            position: absolute;
        }
        .myinput{
            float:left;
            width:90px;
            border-radius:6px;
            color: #3C4043;
        }
        .myinput:hover{
            color: #000;
            background:#eee;
        }
        `);
        $("#sbtc").after("<div class=myK><div class=mybtnWoW id=myJPG><span style='color:#4285F4'>M</span><span style='color:#EA4335'>o</span><span style='color:#FBBD07'>r</span><span style='color:#34A853'>e</span></div><div class=myck><div class=mysk01></div><div class=mysk02></div><div class=mysk03></div><div class=mysk04></div><div class=mysk05></div><div class=myxk><form action=''><label class=myinput><input name=bing type=checkbox value='' checked=checked>bing</label><label class=myinput><input name=pixabay type=checkbox value='' checked=checked>pixabay</label><label class=myinput><input name=pexels type=checkbox value='' checked=checked>pexels</label><label class=myinput><input name=freeimages type=checkbox value='' checked=checked>freeimages</label><label class=myinput><input name=unsplash type=checkbox value='' checked=checked>unsplash</label><label class=myinput><input name=stocksnap type=checkbox value='' checked=checked>stocksnap</label><label class=myinput><input name=picjumbo type=checkbox value='' checked=checked>picjumbo</label><label class=myinput><input name=visualhunt type=checkbox value='' checked=checked>visualhunt</label><label class=myinput><input name=everypixel type=checkbox value='' checked=checked>everypixel</label><label class=myinput><input name=gratisography type=checkbox value='' checked=checked>gratisog...</label><label class=myinput><input name=lifeofpix type=checkbox value='' checked=checked>lifeofpix</label></form></div></div></div>");
    }else if(window.location.href.substring(0,34) == "https://cn.bing.com/images/search?"){
        GMaddStyle(`
        .myK{
            margin-left:765px;
            margin-top:-60px;
            position: absolute;
        }
        .mybtnWoW{
            height:40px;
            width:70px;
            border-radius: 6px;
            border: 0px solid #eee;
            text-align:center;
            line-height:43px;
            cursor:pointer;
            float:left;
            margin-top:-46px;
            background:#fff;
            font-size:16px;
            font-weight: bold;
            position: relative;
            z-index:500;
            box-shadow: 0 0 0 1px rgba(0,0,0,.1), 0 2px 4px 0 rgba(0,0,0,.16);
        }
        .mybtnWoW:hover{
            box-shadow: 0 0 0 1px rgba(0,0,0,.1), 0 2px 4px 1px rgba(0,0,0,.18);
        }
        .myck{
            position: absolute;
            display:none;
            z-index:20;
        }
        .mysk01{
            position: relative;
            width:58px;
            height:30px;
            border-bottom: 1px solid #dfe1e5;
            border-right: 1px solid #dfe1e5;
            border-radius: 0 0 14px 0;
            margin-top:-28px;
            margin-left:20px;
            z-index:100;
        }
        .mysk02{
            border-radius: 0 30px 0 0;
            border-top: 1px solid #dfe1e5;
            border-right: 1px solid #dfe1e5;
            width:30px;
            height:30px;
            margin-top:-31px;
            margin-left:79px;
            background:#fff;
            z-index:90;
            box-shadow: 2px 5px 6px rgba(32, 33, 36, 0.28);
        }
        .mysk03{
            border-radius:6px 0 0 0;
            border-top: 1px solid #dfe1e5;
            border-left: 1px solid #dfe1e5;
            border-right: 1px solid #dfe1e5;
            width:108px;
            height:6px;
            background:#fff;
            margin-top:-1px;
            z-index:80;
            box-shadow: 2px 5px 6px rgba(32, 33, 36, 0.28);
        }
        .mysk04{
            width:85px;
            height:1px;
            background: #fff;
            top: 2px;
            left:24px;
            position: absolute;
            z-index:75;
        }
        .mysk05{
            border-radius:0 0 6px 6px;
            border-left: 1px solid #dfe1e5;
            border-right: 1px solid #dfe1e5;
            border-bottom: 1px solid #dfe1e5;
            width:108px;
            height:260px;
            background:#fff;
            z-index:70;
            box-shadow: 2px 5px 6px rgba(32, 33, 36, 0.28);
        }
        .myxk{
            width:90px;
            height:180px;
            z-index:110;
            top: 17px;
            left:10px;
            position: absolute;
        }
        .myinput{
            float:left;
            width:90px;
            border-radius:6px;
            color: #3C4043;
        }
        .myinput:hover{
            color: #000;
            background:#f1f1f1;
        }
        `);
        $("#b_header").after("<div class=myK><div class=mybtnWoW id=myJPG><span style='color:#00809d'>M</span><span style='color:#666666'>o</span><span style='color:#de3700'>r</span><span style='color:#666666'>e</span></div><div class=myck><div class=mysk01></div><div class=mysk02></div><div class=mysk03></div><div class=mysk04></div><div class=mysk05></div><div class=myxk><form action=''><label class=myinput><input name=google type=checkbox value='' checked=checked>google</label><label class=myinput><input name=pixabay type=checkbox value='' checked=checked>pixabay</label><label class=myinput><input name=pexels type=checkbox value='' checked=checked>pexels</label><label class=myinput><input name=freeimages type=checkbox value='' checked=checked>freeimages</label><label class=myinput><input name=unsplash type=checkbox value='' checked=checked>unsplash</label><label class=myinput><input name=stocksnap type=checkbox value='' checked=checked>stocksnap</label><label class=myinput><input name=picjumbo type=checkbox value='' checked=checked>picjumbo</label><label class=myinput><input name=visualhunt type=checkbox value='' checked=checked>visualhunt</label><label class=myinput><input name=everypixel type=checkbox value='' checked=checked>everypixel</label><label class=myinput><input name=gratisography type=checkbox value='' checked=checked>gratisog...</label><label class=myinput><input name=lifeofpix type=checkbox value='' checked=checked>lifeofpix</label></form></div></div></div>");
    }
    function GMaddStyle(cssText){
        let a = document.createElement('style');
        a.textContent = cssText;
        let doc = document.head || document.documentElement;
        doc.appendChild(a);
    }
    function mySelect(name,keyword){
        switch(name){
            case 'pixabay':
                openNewWindow("https://pixabay.com/images/search/"+ keyword +"/");
                break;
            case 'pexels':
                openNewWindow("https://www.pexels.com/search/"+ keyword +"/");
                break;
            case 'freeimages':
                openNewWindow("https://cn.freeimages.com/search/"+ keyword);
                break;
            case 'unsplash':
                openNewWindow("https://unsplash.com/search/photos/"+ keyword);
                break;
            case 'stocksnap':
                openNewWindow("https://stocksnap.io/search/"+ keyword);
                break;
            case 'picjumbo':
                openNewWindow("https://picjumbo.com/?s="+ keyword);
                break;
            case 'visualhunt':
                openNewWindow("https://visualhunt.com/search/instant/?q="+ keyword);
                break;
            case 'everypixel':
                openNewWindow("https://www.everypixel.com/search?q="+ keyword +"&stocks_type=free&meaning=&media_type=0&page=1");
                break;
            case 'gratisography':
                openNewWindow("https://gratisography.com/?s="+ keyword);
                break;
            case 'lifeofpix':
                openNewWindow("https://www.lifeofpix.com/search/"+ keyword + "?");
                break;
            case 'google':
                openNewWindow("https://www.google.com/search?q="+ keyword + "&tbm=isch");
                break;
            case 'bing':
                openNewWindow("https://cn.bing.com/images/search?q="+ keyword);
                break;
        }
    }
    function openNewWindow(webstr) {
        let a = $("<a href='"+ webstr +"' target='_blank'>baidu</a>").get(0);
        let e = document.createEvent('MouseEvents');
        e.initEvent( 'click', true, true );
        a.dispatchEvent(e);
    }
    $.fn.hoverDelay = function(options){
        var defaults = {
            hoverDuring:200,
            outDuring:200,
            hoverEvent:function(){
                $.noop();
            },
            outEvent:function(){
                $.noop();
            }
        };
        var sets = $.extend(defaults,options || {});
        var hoverTimer,outTimer;
        return $(this).each(function(){
            $(this).hover(function(){
                clearTimeout(outTimer);
                hoverTimer = setTimeout(sets.hoverEvent,sets.hoverDuring);
            },function(){
                clearTimeout(hoverTimer);
                outTimer = setTimeout(sets.outEvent,sets.outDuring);
            });
        });
    }
    $('body').on('click','#myJPG',function(){
        if(window.location.href.substring(0,30) == "https://www.google.com/search?"){
            var keyw = $('.gLFyf.gsfi').val();
        }else if(window.location.href.substring(0,34) == "https://cn.bing.com/images/search?"){
            keyw = $('#sb_form_q').val();
        }else{
            return;
        }
        $('.myinput input').each(function(){
            if($(this).prop('checked')==true){
                mySelect($(this).prop('name'),keyw);
            }
        });
    });
    $("#myJPG").hoverDelay({
        hoverDuring:500,
        outDuring:500,
        hoverEvent: function(){
            $('.myck').css('display','inline');
        },
        outEvent: function(){
        }
    });
    $('body').click(function(){
        $('.myck').css('display','none');
    });
    $('body').on('click','.myck',function(){
        return false;//JS阻止事件冒泡,及不触发外面click事件
    });
    $('body').on('click','.myinput',function(){
        if($(this).children('input').prop('checked')==true){
            $(this).children('input').prop('checked',false);
        }else{
            $(this).children('input').prop('checked',true);
        }
    });
    $('.myinput input').hover(function(){
            if($(this).prop('checked')==true){
                $(this).prop('checked',false);
            }else{
                $(this).prop('checked',true);
            }
        },function(){
    });
})();