Greasy Fork

匿名版一键搜图

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

目前为 2016-08-28 提交的版本。查看 最新版本

// ==UserScript==
// @name         匿名版一键搜图
// @namespace    http://zhihaofans.com
// @version      0.2.7
// @description  一键搜图(让盗图狗不再得意,让你不再为祭品信息而烦恼)
// @author       zhihaofans
// @match        https://h.nimingban.com/f/*
// @match        https://h.nimingban.com/t/*
// @grant        none
// @note         V0.1:初始版本,只有百度,不带设置功能
// @note         V0.2:加入谷歌、搜狗,在网页顶端有设置可以切换(设置保存在本地浏览器)
// @note         V0.2.1:修复了编辑时编码格式错误导致乱码
// @note         V0.2.2:修复了保存设置失败的BUG
// @note         V0.2.3:修复了BUG
// @note         V0.2.4:修改了谷歌地址
// @note         V0.2.5:加入saucenao搜索引擎
// @note         V0.2.6:加入iqdb搜索引擎
// @note         V0.2.7:加入tineye搜索引擎
// ==/UserScript==
var setting_show=0;
$(document).ready(function () {
    setting();
    $("#html_search").hide();
    start();
    $("#html_button_setting").click(function () {
        if(setting_show===0)
        {
            $("#html_search").show();
            setting_show=1;
        }
        else
        {
            $("#html_search").hide();
            setting_show=0;
        }
    });
    $("#html_search").change(function () {
        search_change($("#html_search").val());
    });

});
function setting()
{
    if (localStorage.getItem("setting_search") === undefined)
    {
        localStorage.setItem("setting_search","baidu");
    }
    switch(localStorage.setting_search)
    {
        case "baidu":
            var nmb_select = "<select id=\"html_search\" name=\"html_search\" onchange=\"search_change(this.value)\"><option value=\"baidu\" selected=\"selected\">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></select>";
            break;
        case "google":
            var nmb_select = "<select id=\"html_search\" name=\"html_search\" onchange=\"search_change(this.value)\"><option value=\"baidu\">baidu</option><option value=\"google\" selected=\"selected\">google</option><option value=\"sogou\">sogou</option><option value=\"saucenao\">saucenao</option><option value=\"iqdb\">iqdb</option><option value=\"tineye\">tineye</option></select>";
            break;
        case "sogou":
            var nmb_select = "<select id=\"html_search\" name=\"html_search\" onchange=\"search_change(this.value)\"><option value=\"baidu\">baidu</option><option value=\"google\">google</option><option value=\"sogou\" selected=\"selected\">sogou</option><option value=\"saucenao\">saucenao</option><option value=\"iqdb\">iqdb</option><option value=\"tineye\">tineye</option></select>";
            break;
        case "saucenao":
            var nmb_select = "<select id=\"html_search\" name=\"html_search\" onchange=\"search_change(this.value)\"><option value=\"baidu\">baidu</option><option value=\"google\">google</option><option value=\"sogou\">sogou</option><option value=\"saucenao\" selected=\"selected\">saucenao</option><option value=\"iqdb\">iqdb</option><option value=\"tineye\">tineye</option></select>";
            break;
        case "iqdb":
            var nmb_select = "<select id=\"html_search\" name=\"html_search\" onchange=\"search_change(this.value)\"><option value=\"baidu\">baidu</option><option value=\"google\">google</option><option value=\"sogou\">sogou</option><option value=\"saucenao\">saucenao</option><option value=\"iqdb\" selected=\"selected\">iqdb</option><option value=\"tineye\">tineye</option></select>";
            break;
        case "tineye":
            var nmb_select = "<select id=\"html_search\" name=\"html_search\" onchange=\"search_change(this.value)\"><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\" selected=\"selected\">tineye</option></select>";
            break;
        default:
            var nmb_select = "<select id=\"html_search\" name=\"html_search\"><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></select>";
    }
    var li = "<li><a href=\"javascript:void(0)\" id=\"html_button_setting\">一键搜图</a></li> " + nmb_select;
    $("ul.uk-breadcrumb").append(li);
}
function search_change(_search)
{
    localStorage.setItem("setting_search", _search);
    alert("设置完毕("+_search+")\n即将刷新");
    location.reload();
}
function start()
{
    loaded=1;
    var imgs_num=$("a.h-threads-img-a").length;
    var imgs_num_1=imgs_num-1;
    var nmb_link = "";
    var a_1=1;
    var search_sogou="http://pic.sogou.com/ris?query=";
    var search_baidu="http://image.baidu.com/n/pc_search?queryImageUrl=";
    var search_google="https://www.google.com/searchbyimage?image_url=";
    var search_saucenao="http://saucenao.com/search.php?db=999&url=";
    var search_iqdb="http://www.iqdb.org/?url=";
    var search_tineye="http://tineye.com/search/?url=";
    switch(localStorage.getItem("setting_search","baidu"))
    {
        case "baidu":
            var nmb_search=search_baidu;
            break;
        case "google":
            var nmb_search=search_google;
            break;
        case "sogou":
            var nmb_search=search_sogou;
            break;
        case "saucenao":
            var nmb_search=search_saucenao;
            break;
        case "iqdb":
            var nmb_search=search_iqdb;
            break;
        case "tineye":
            var nmb_search=search_tineye;
            break;
        default:
            var nmb_search=search_baidu;
    }
    for(var a=0;a<=imgs_num_1;a++)
    {
        var img="";
        img=$("a.h-threads-img-a:eq("+a+")");
        a_1=a+1;
        nmb_link="<a  target=\"_blank\" id=\"one_key_search_image_"+a_1+"\" href=\""+nmb_search+img.attr("href")+"\">(←一键搜图)</a>";
        img.prop("outerHTML",nmb_link+img.prop("outerHTML"));
    }
}