Greasy Fork

匿名版一键搜图

一键搜图(让盗图狗不再得意,让你不再为祭品信息而烦恼)

目前为 2018-05-13 提交的版本。查看 最新版本

// ==UserScript==
// @name         匿名版一键搜图
// @namespace    http://zhihaofans.com
// @version      0.4.1
// @description  一键搜图(让盗图狗不再得意,让你不再为祭品信息而烦恼)
// @author       zhihaofans
// @match        http://adnmb1.com/t/*
// @match        http://adnmb1.com/f/*
// @match        https://h.nimingban.com/f/*
// @match        https://h.nimingban.com/t/*
// @match        http://www.kukuku.cc/t/*
// @match        http://www.kukuku.cc/*
// @match        https://boards.4chan.org/*/*
// @match        http://boards.4chan.org/*/*
// @require      https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js
// @grant        Apache-2.0
// @note         开源地址:https://github.com/zhihaofans/Some-JavaScript/blob/master/imageboard.imagesearch.js
// @note         Greasyfork地址:https://greasyfork.org/zh-CN/scripts/21115
// @note         0.4.1: 以图搜图适配了'adnmb1.com'
// @note         generated by coffee-script
// ==/UserScript==
(function () {
    var addLink, nmb_search, search_change, setting, setting_show, start;
    jQuery.noConflict();
    setting_show = 0;
    nmb_search = {
        'sogou': 'http://pic.sogou.com/ris?query=',
        'baidu': 'http://image.baidu.com/n/pc_search?queryImageUrl=',
        'google': 'https://www.google.com/searchbyimage?image_url=',
        'saucenao': 'http://saucenao.com/search.php?db=999&url=',
        'iqdb': 'http://www.iqdb.org/?url=',
        'iisearch': 'http://iisearch.ddo.jp/front.php?mode=1&url=',
        'tineye': 'http://tineye.com/search/?url='
    };
    setting = function () {
        var li, nmb_select;
        nmb_select = '<select style="display: none;" id="html_search" name="html_search"' + 'onchange="localStorage.setItem(\'setting_search\',' + 'jQuery(\'#html_search\').val());' + 'alert(\'设置完毕(\' + this.value + \')即将刷新\');location.reload();">' + '<option value="baidu">baidu</option>' + '<option value="google">google</option>' + '<option value="sogou">sogou</option>' + '<option value="saucenao">saucenao</option>' + '<option value="iqdb">iqdb</option>' + '<option value="tineye">tineye</option>' + '<option value="iisearch">iisearch</option></select>';
        if (localStorage.getItem('setting_search') === null || localStorage.getItem('setting_search') === void 0) {
            localStorage.setItem('setting_search', 'baidu');
        }
        console.log(localStorage.setting_search in nmb_search);
        if (localStorage.setting_search in nmb_search === false) {
            localStorage.setItem('setting_search', 'baidu');
            alert('设置错误,已初始化(baidu)\n即将刷新');
            location.reload();
        }
        switch (location.hostname) {
            case 'h.nimingban.com':
            case 'www.kukuku.cc':
            case 'adnmb1.com':
                li = '<li><a href="javascript:void(0)" id="html_button_setting">' + '一键搜图</a></li> ' + nmb_select;
                jQuery('ul.uk-breadcrumb:first').append(li);
                break;
            case 'boards.4chan.org':
                li = '<li><label><input type="checkbox" class="menuOption"' + 'checked="checked">' + '以图搜图</label>' + '</li><li class="settings-tip">' + nmb_select + '</li>';
                jQuery('div#settingsMenu > div > ul > ul:eq(5) > ul.settings-cat').prepend(li);
        }
        jQuery('#html_search option[value=\'' + localStorage.setting_search + '\']').prop('selected', true);
    };
    search_change = function (_search) {
        localStorage.setItem('setting_search', _search);
        alert('设置完毕(' + _search + ')\n即将刷新');
        location.reload();
    };
    addLink = function (imgs) {
        var a, a_1, img_link, imgs_num, nmb_img, nmb_link, results;
        a_1 = 1;
        a = 0;
        imgs_num = imgs.length;
        results = [];
        while (a < imgs_num) {
            nmb_img = imgs.eq(a);
            a_1 = a + 1;
            img_link = nmb_img.attr('href');
            if (img_link.startsWith('//')) {
                img_link = 'https:' + img_link;
            }
            img_link = encodeURIComponent(img_link);
            nmb_link = '<a  target="_blank" id="one_key_search_image_' + a_1 + '" href="' + nmb_search[localStorage.setting_search] + img_link + '">(←一键搜图)</a>';
            nmb_img.prop('outerHTML', nmb_img.prop('outerHTML') + nmb_link);
            results.push(a++);
        }
        return results;
    };
    start = function () {
        switch (location.hostname) {
            case 'h.nimingban.com':
            case 'www.kukuku.cc':
            case 'adnmb1.com':
                addLink(jQuery('a.h-threads-img-a'));
                break;
            case 'boards.4chan.org':
                addLink(jQuery('div.file > a.fileThumb'));
        }
    };
    jQuery(document).ready(function () {
        setting();
        start();
        jQuery('#html_button_setting').click(function () {
            if (setting_show === 0) {
                jQuery('#html_search').show();
                setting_show = 1;
            } else {
                jQuery('#html_search').hide();
                setting_show = 0;
            }
        });
        jQuery('#html_search').change(function () {
            search_change(jQuery('#html_search').val());
        });
        jQuery('#settingsWindowLink').click(function () {
            setting();
        });
    });
})();