Greasy Fork

匿名版一键搜图

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

目前为 2017-07-03 提交的版本。查看 最新版本

// ==UserScript==
// @name         匿名版一键搜图
// @namespace    http://zhihaofans.com
// @version      0.4.0
// @description  一键搜图(让盗图狗不再得意,让你不再为祭品信息而烦恼)
// @author       zhihaofans
// @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        none
// @note         开源地址:https://github.com/zhihaofans/Some-JavaScript/blob/master/imageboard.imagesearch.js
// @note         Greasyfork地址:https://greasyfork.org/zh-CN/scripts/21115
// @note         0.3.9: 用coffee-script重写了一遍
// @note         0.4.0: 删除了360搜索引擎,以图搜图适配了'4chan.org'
// @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 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':
        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':
        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();
    });
  });
})();