Popup Search

Popup Search Box for slected Text

Tính đến 07-04-2014. Xem phiên bản mới nhất.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

Bạn sẽ cần cài đặt một tiện ích mở rộng như Tampermonkey hoặc Violentmonkey để cài đặt kịch bản này.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(Tôi đã có Trình quản lý tập lệnh người dùng, hãy cài đặt nó!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name				Popup Search
// @author				lkytal
// @namespace			Lkytal
// @description			Popup Search Box for slected Text
// @include				*
// @require				http://code.jquery.com/jquery-2.1.0.min.js
// @version				2.5.5
// @icon				http://lkytal.qiniudn.com/ic.ico
// @grant				GM_xmlhttpRequest
// @grant				GM_addStyle
// @grant				unsafeWindow
// @grant				GM_openInTab
// @grant				GM_setClipboard
// @grant				GM_getClipboard
// @grant				GM_getValue
// @grant				GM_setValue
// @grant				GM_registerMenuCommand
// ==/UserScript==
// Generated by CoffeeScript 1.7.1


if (window != window.top || window.document.title === "")
	return;
var GetOpt, InTextBox, Init, Inter, Load, MouseIn, OpenSet, SetOpt, SettingWin, ShowBar, TimeOutHide, bTrans, baiduico, bingicon, fixPos, getLastRange, get_offsets_and_remove, get_selection_offsets, gicon, ie, ticon, tip, tipdown, tipup, txt;

tipdown = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAXElEQVQYlYXMsQ5AQBREUSoVjQ+f+S0lSi2livJlr4ZEZDcmud3JVJIW2yPQVqXZPmwjaQXqEuJJ0vCLbrgDfRZFxBsH0GTRCybbcxF9HhPQZdEHbkUUEUg6JU0Xm2KvCU6v27kAAAAASUVORK5CYII=";

tipup = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAZElEQVQYlXXMIQ4CMBBE0UWhwHDw+ddCAhILEgWy4WNo0tAyyZidly1AwNba1CSvJOf6h/oduC/RAN7qfkJ9BC7VM6LhQ1O3E+pN8lAPNeYHHGsV4PkFN3WzREmuwEndLUFVfQC3Xa8Jl+92RAAAAABJRU5ErkJggg==";

tip = tipdown;

baiduico = "data:image/png;base64,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";

bingicon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACeklEQVRYhe2Wy2sTURTGu1fapOZRTKj2kaag1VaTNA9NjHkWLS3diC5q6wNc+A+EIkVw40ZRFBeuirgQF1JfuFBboYiIzb2TmdimCA0YWyupqalBTRo/F4M3KE0mhrR2kQsfDHPvOfOb794zZ6qErlb8T1VVACoAFYANDcD7dKAWFahFBd7TvL4AvE8HobsNqSmK1FuC6WP71gQiP4C3GeGe3fg9Zk54EHI35ub9evBenSi/fm0AhJ5dDCAy4Abn0ILa1CCGGlCrCsLhnRAO7QAxK0CMMlBb3R+QZQUId7ch0u9EYuwBVhs/s1l8fnIX00dtIEY5eF9LeQG+RWfYdeLZKGaHTiLS70TkuAvR4TP48vIpm19+MwFqURZ1ZooGAIAf8+/B2TWgZgVCzm0IuRtFHagH6awF72vBytek6EgmDWpVSTpRNEA2k0awYxN4T1PeZCFXA6hZwWKWxh+CWtXlAYhdHgK3f6ukpdSqxqfb11kcMckLVknhMuxtZ4lmA4MIOeslATiHFrFLARbH2TUFtyE/gF8PYpKzRIuP7oAYZZIAwY7NWJ6cEM/BSgbEIINQigNCVys4uwZz187nPkan/CCdW1Z9I96rAzHIMBsYZOuj505Lula4F/j1CO6tRnz0Fku6MHIF1KIEMclBrSpQqwrEKANn1yJ+b4Stm795EcRUW3oZ/r0V7872IZOI50ryYwzJV2NIvh5HenGB3f8eiyIy4AK1KCUfXhQAK7GD2xHcU42pI2bM3biApRePkQoHkQpPIvH8Pj5cHUa4tx3EUIOQq6GonP8EIEoP3tPEegK1KEXZ6sA5tCV1y439Q1IBqABUANZDvwDe9YuA3jr3dgAAAABJRU5ErkJggg==";

ticon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABzUlEQVRYhe2WTWsTURSGr5iQNOkIgvgDJEIXdqUrUTeltFt3gr/And3afZcuzbo/IC5qksnMtCITrYYWlGAJBKW0fpCNLSiBgtXHxQkmMvdOZkhCicyBs5rLOc+d856Xq9i8wFmmSgASgOkE8CxzThzAzUDtHJRVMG0VGyIegJOCl9fg8zra6DyFipoQgJsDNyuNvLweAMC/In9p7ABlBUcvpEm3DdvX9QAnX2Aj+iiiAThpeH3j30aN2/C9qYdo3hedjAXAs+CZgtNusJE3Yx5FRYE3OwYAW0Hrob5JexUOi/pvn4qRBBkO4OUFwBRbF6WJ8fslcGdGAKgo6JT0xfcfQ7W3+3sP9Gd+vJfxbZoFaQZwM+AXzLcr92bsWaL6n8f6c7vL4JyPCeBZ0uDkq77o27tyeyctaSuoXzXD2mZB6gHcLLya1xfrfhBH3F2CnYV+Nm5BfS6Yb27C88sxAf4ajx8EcDPmm+ri96/eSup1EKKBnCh4MA6eQPtRPAC/EGrN4VtQVfBxrV+sFrJyuuiUhnrBEB+YlVEAvLsH37biAdhKvGQkJ3TS0LgDO4vxmrdWBGAkJxz0BCclphI1a9HeBVP6JkwAEoD/CeAP3U729kMHHe8AAAAASUVORK5CYII=";

gicon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACcElEQVRYhe2VX0hTcRTHD0SP9SjUQ4hKbv4pm1u6JhFEVCL2ENGD0UME9haUFAQh0kM9xvRubnebRpFSIVELyRXhsheVIT1kWYIz1MwMy9Qo49PDT7cR5lZe7aH94Dzc3733fD/nd875HZGmMv6ppQHSAGmAv/rJb0c8OxB3AeLKU+YuQDxFiK9kFQH8dkQzs655Nxd6GwmP9TEyM8HIzAThsT4uRnQ2tVYi9TmIb6fBALoV0Yt5MhoBoGUwhD1YzcYb+8m6fYRzPS4W19sv45jbqlKDSEnca2Fz66GYgPhK1LHrNsRfqp49RYgzi2uv22OA0rjNAAB/Keub98TF3fm/j0y3srf9NFp/G+LMRgKOFQIEHIgzm3ezkwBUPjqvIl02VTbEsz018aQAug17sDoefapRGdYF7kJuDoYA6H7/AtHMxoonBdDMDEwNA3Av2oW48tcawMTQ9CgAkQ+vEM20xgCufEIj3fEaqM9ZugYCDsRrUSnSTHHTrSsE8Fo48fRyDKA8VKOEfhXXbdRG/AB8/jbDwKdhxmc/cqyzLjnEsi8DuxBXXgxg/sc84sxS+wnfbLi+j4yWCkS3kXnrcELXZCbvmqRH5LVQ3lETc/p4tBe5ukXdgImgfjuiW8m5czQOoOUaANBUhjTkUhvxxRw/n3yDeItVzr0WdfnoNsRdSEZLxSoALEAceHiGxHV/+BlVnXXYg9U4HpziePgSPRP9cUh3gYEAC+mQhq0c7DhLYCDIy6kos9/nmJv/SnR6jLvRMCe7rqjhpJkMmAVLFqZDVXZjoZqIiy3nylN7Xouqh1T9/TGA0ZYGSAP89wA/AZoF9N4ossasAAAAAElFTkSuQmCC";

ie = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAC2ElEQVRYhe2Wy08TURTGSboAlSjKq5SQSlH6cCsLYuIf4FpXLF2oTQpaSqf0YWdciAjRaOKKGGJIQEOIzxgFhZXEKIpPBExQjKJ27i2UdphOp+VzUSEhU8baoiamJ/k2d07u97v33HPn5u05FcS/VF4OIAfwXwBYuCB2n6SochNUMARahkDvobBwfwjAxFLs9FBUupKG207wOHBpAV2PRLyZk/GBxHFxREC5k/wS4rcALByFjiEw+Cj8dyK49SqK4SkJESkBAJgNxuG8HsahrhAujy6hfVBAtZduDICJpdjRTNDzRIRaXBhZwuZGHsUOgraNAjCzFGVOAiokVM1XYi6UQGETD+ZGBDW+LAEsXBBFdh5T3+WUZnJiOeX46EwMx64uwpAtQLWX4mjfosLg3oQELUOw9TiPylaCkWlJkdPQHYIh2xKUthDMBuNrJp74JkNjDWCXj6LWT1Hjo9BYA3gfkBV5ZS0kcwAzR1HZShQr896OoK49iP3n5ldVdyYI9m5EkVvmJLBw6++CKkCtn6K+Yz5ljdON+o55GP0ZAlS1EnQ+ELIC2NeZIYCFoyh28CknbegOId/GY3szWaMCGw+NNbCqfBuvaq4KYPBSHOlNnn4htrbV3n6VUWDjYf5ZWwtHUe4kaOwPo29MxJXHInqfijg7lMVFpHMRDL6TwEcSONgVUuzCwHgURXYeJQ6CLU08mgfCihz7QDjzNixtIRCkZZwfFqCxBvCRxhUGADBDUo9PB2QU2XnVDlAFKHEk2+9wzyL0HgqdiyhKsV4siAloGQIzq26uClDBELz+IuPmyygKm3joGIJNjTzCkvr/4NpzEcUOAlMa5qoAJjZ5wz37FMOLzzH0j0fROyZib1sQRpaifUjAw0kJY7MxDE1KOH1fgJGlqGDI6uHMCmAFQuci0LkIqtwEejeF0U9hZCn07uTbQMskv+s9NO1Vpw3wN5QDyAHkAH4APkBEEJ/n2M4AAAAASUVORK5CYII=";

txt = "";

InTextBox = function(selection) {
  $('textarea, input[type=text], *[contenteditable="true"]', document).each(function(i) {
    if (selection.containsNode(this, true)) {
      return true;
    }
  });
  return false;
};

getLastRange = function(selection) {
  var lastRange, r, _i, _ref;
  lastRange = selection.getRangeAt(selection.rangeCount - 1);
  for (r = _i = _ref = selection.rangeCount - 1; _ref <= 0 ? _i <= 0 : _i >= 0; r = _ref <= 0 ? ++_i : --_i) {
    if (!selection.getRangeAt(r).collapsed) {
      lastRange = selection.getRangeAt(r);
      break;
    }
  }
  return lastRange;
};

get_offsets_and_remove = function($test_span) {
  var curr_elem, span_ht, total_offsetLeft, total_offsetTop;
  curr_elem = $test_span[0];
  total_offsetTop = 0;
  total_offsetLeft = 0;
  while (curr_elem !== null) {
    total_offsetTop += curr_elem.offsetTop;
    total_offsetLeft += curr_elem.offsetLeft;
    curr_elem = curr_elem.offsetParent;
  }
  span_ht = $test_span.height();
  $test_span.remove();
  return [total_offsetTop, total_offsetLeft, span_ht];
};

get_selection_offsets = function(selection) {
  var $test_span, lastRange, newRange;
  $test_span = $('<span class="smarterwiki-popup-bubble-test-span" style="display:inline;">x</span>');
  lastRange = getLastRange(selection);
  newRange = document.createRange();
  newRange.setStart(lastRange.endContainer, lastRange.endOffset);
  newRange.insertNode($test_span[0]);
  return get_offsets_and_remove($test_span);
};

fixPos = function(sel, e) {
  var fix, m_left, offsetLeft, offsetTop, offsets;
  offsets = get_selection_offsets(sel);
  offsetTop = offsets[0];
  offsetLeft = offsets[1];
  if (e != null) {
    if (offsetLeft < e.pageX - 100) {
      offsetLeft = e.pageX;
    }
    if (offsetTop < e.pageY - 100) {
      offsetLeft = e.pageY - 8;
    }
  } else {
    $('#showupbody').css('margin-left', '70px');
  }
  if (GetOpt('#Dis_st')) {
    offsetTop = offsetTop - 2 - $('#ShowUpBox').height();
    if ((offsetTop - document.documentElement.scrollTop) < 40) {
      offsetTop = document.documentElement.scrollTop + 40;
    }
  } else {
    offsetTop += 1.1 * offsets[2];
  }
  m_left = $('#ShowUpBox').width();
  fix = 0;
  if (offsetLeft - m_left < 4) {
    fix = 4 - offsetLeft + m_left;
  }
  $('#ShowUpBox').css("top", offsetTop + "px").css("left", (offsetLeft - m_left + fix) + "px");
  return $('#popuptip').css('margin-left', m_left - 20 - fix);
};

MouseIn = 0;

bTrans = 0;

$(document).mousedown(function(event) {
  if (bTrans === 1) {
    $('#ShowUpBox').remove();
    Init();
  }
  return $('#ShowUpBox').hide();
});

Inter = void 0;

TimeOutHide = function() {
  if (MouseIn === 0 && GetOpt("#Fade_st") && !bTrans) {
    return $('#ShowUpBox').fadeOut(600);
  }
};

Init = function() {
  var $DivBox;
  $DivBox = $('<span id="ShowUpBox"><span id="showupbody"><span id="popupwapper"></span><span id=Gspan></span></span></span>');
  $('body').append($DivBox);
  $DivBox.hide();
  $DivBox[0].style.cssText = "width:auto;height:auto;position:absolute;z-index:10240;display:inline;line-height:0;vertical-align:baseline;";
  $('#showupbody')[0].style.cssText = "all: unset;display: block;border:solid 2px rgb(144,144,144);border-radius:1px; background:-moz-linear-gradient(top, rgb(252, 252, 252) 0%, rgb(245, 245, 245) 33%, rgb(245, 245, 245) 100%);background:-webkit-linear-gradient(top, rgb(252, 252, 252), rgb(245, 245, 245));max-width: 750px !important;min-height: 20px;max-height: 350px;min-width: 60px !important;overflow:auto;";
  if (!GetOpt("#Round_st")) {
    $('#showupbody').css({
      "border-radius": "4px"
    });
  }
  $DivBox.on("mouseup", function(event) {
    event.stopPropagation();
    if (event.which === 3) {
      event.preventDefault();
      GM_setClipboard(document.defaultView.getSelection().toString());
      $('#ShowUpBox').remove();
      return Init();
    } else if (event.which === 2) {
      event.preventDefault();
      return GM_openInTab(document.defaultView.getSelection().toString());
    }
  });
  $DivBox.on("mousedown", function(event) {
    return event.stopPropagation();
  });
  $DivBox.on("dblclick", function(event) {
    return event.stopPropagation();
  });
  $DivBox.hover(function() {
    $(this).fadeTo(150, 1);
    return MouseIn = 1;
  }, function() {
    if (!bTrans) {
      $(this).fadeTo(300, 0.7);
      clearTimeout(Inter);
      Inter = setTimeout(TimeOutHide, 5500);
    }
    return MouseIn = 0;
  });
  $('#popupwapper').css({
    "margin": "3px 2px 3.8px 2px",
    "display": "block",
    "line-height": "0"
  });
  $('#popupwapper').append($("<a id=gtransicon href=\"javascript:void(0)\"><img id=gtrans src=\"" + ticon + "\"></img></a>")).append($("<a id=openurl href=\"\" target=\"_blank\"><img id=iconie src=\"" + ie + "\"></img></a>")).append($("<a id=sbaidu href=\"\" target=\"_blank\"><img src=\"" + baiduico + "\"></img></a>")).append($("<a id=sbing href=\"\" target=\"_blank\"><img src=\"" + bingicon + "\"></img></a>")).append($("<a id=sgoogle href=\"\" target=\"_blank\"><img id=gicon src=\"" + gicon + "\"></img></a>"));
  $('#sgoogle, #sbing, #sbaidu, #openurl').on("click", function(event) {
    return $('#ShowUpBox').hide();
  });
  $('#gtrans').on("click", function(event) {
    var postData;
    event.preventDefault();
    postData = "client=t&text=" + txt + "&langpair=auto|zh-CN";
    return GM_xmlhttpRequest({
      method: 'POST',
      url: 'http://translate.google.com.hk/translate_a/t',
      data: postData,
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
      },
      onload: function(responseDetails) {
        var Rst, Rtxt, currentURL, i, j, line, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _m, _ref, _ref1, _ref2, _ref3, _ref4;
        Rtxt = eval("(" + responseDetails.responseText + ")");
        currentURL = "http://www.google.com.hk/translate_t?text=" + txt + "&langpair=auto|zh-CN";
        Rst = '<a style="text-decoration:none;font-size:16px;" href="' + currentURL + '" target="_blank">';
        _ref = Rtxt[0];
        for (_i = 0, _len = _ref.length; _i < _len; _i++) {
          line = _ref[_i];
          Rst += line[0] + '<br>';
        }
        Rst += '</a><br /><ul style="font-size:13px;list-style-position:inside;">';
        if (typeof Rtxt[1] !== 'undefined' && Rtxt[1][0][2].length > 0) {
          _ref1 = Rtxt[1];
          for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) {
            i = _ref1[_j];
            Rst = Rst + '<li>' + i[0] + ': ';
            _ref2 = i[2];
            for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) {
              j = _ref2[_k];
              if (j[3] > 0.005) {
                Rst += j[0] + ', ';
              }
            }
            Rst += '</li>';
          }
        }
        Rst += '</ul>';
        if (txt.length < 100 && typeof Rtxt[5] !== 'undefined') {
          _ref3 = Rtxt[5];
          for (_l = 0, _len3 = _ref3.length; _l < _len3; _l++) {
            i = _ref3[_l];
            if (!(typeof i[2] !== 'undefined')) {
              continue;
            }
            Rst += '<br/><strong>' + i[0] + ' : </strong>';
            _ref4 = i[2];
            for (_m = 0, _len4 = _ref4.length; _m < _len4; _m++) {
              j = _ref4[_m];
              Rst += j[0] + ', ';
            }
          }
        }
        $('#Gspan').append($('<div style="padding:5px;font-size:13px;overflow:auto;>' + Rst + '</div>')).show(300);
        $('#popupwapper').hide();
        bTrans = 1;
        return fixPos(document.defaultView.getSelection());
      }
    });
  });
  if (!GetOpt('#Open_st')) {
    $('#openurl').hide();
  }
  if (!GetOpt('#Baidu_st')) {
    $('#sbaidu').hide();
  }
  if (!GetOpt('#Bing_st')) {
    $('#sbing').hide();
  }
  if (!GetOpt('#Google_st')) {
    $('#sgoogle').hide();
  }
  if (GetOpt('#Tab_st')) {
    $DivBox.find('a').attr('target', '_blank');
  } else {
    $DivBox.find('a').attr('target', '_self');
  }
  if (GetOpt('#Dis_st')) {
    tip = tipup;
    $DivBox.append($('<span id=popuptip></span>'));
    $('#popuptip').css({
      'margin-top': '-2px',
      'margin-bottom': '0px'
    });
  } else {
    tip = tipdown;
    $DivBox.prepend($('<span id=popuptip></span>'));
    $('#popuptip').css({
      'margin-top': '0px',
      'margin-bottom': '-2px'
    });
  }
  $('#popuptip').css({
    'background': 'url(' + tip + ') 0px 0px no-repeat transparent',
    'display': 'inline-block',
    'clear': 'both',
    'height': '9px',
    'width': '9px'
  });
  $('#Gspan').empty().css({
    "line-height": "normal",
    "width": "auto",
    "font-size": "16px",
    "padding": "25px!important",
    "overflow": "auto"
  }).hide();
  $('#ShowUpBox img').css({
    "margin": "0px 2px 0px 2px",
    "height": "20px",
    "width": "20px",
    "border-radius": "1px",
    "padding": "0px",
    "display": "inline-block",
    "-moz-transition-duration": "0.1s"
  });
  $('#ShowUpBox img').hover(function() {
    return $(this).css({
      "margin": "-1px 1px -1px 1px",
      "height": "22px",
      "width": "22px"
    });
  }, function() {
    return $(this).css({
      "margin": "0px 2px 0px 2px",
      "height": "20px",
      "width": "20px"
    });
  });
  return $DivBox.hide();
};

document.onmouseup = function(event) {
  if (event.which !== 1) {
    return;
  }
  if ($('#Ctrl_st').data('val') && !event.ctrlKey) {
    return;
  }
  window.lxe = event;
  return setTimeout(function() {
    return ShowBar(window.lxe);
  }, 50);
};

ShowBar = function(event) {
  var UrlText, sel, seltxt;
  sel = document.defaultView.getSelection();
  seltxt = sel.toString();
  if (seltxt === '' || InTextBox(sel)) {
    $('#ShowUpBox').hide();
    return;
  }
  if (GetOpt("#Copy_st")) {
    GM_setClipboard(seltxt);
  }
  txt = encodeURIComponent(seltxt);
  $('#Gspan').empty().hide();
  fixPos(sel, event);
  $('#sbaidu').attr('href', "http://www.baidu.com/s?wd=" + txt);
  $('#sbing').attr('href', "http://cn.bing.com/search?q=" + txt + "&form=MOZSBR");
  $('#sgoogle').attr('href', "https://www.google.com.hk/search?newwindow=1&q=" + txt);
  UrlText = seltxt;
  if (UrlText.indexOf('http') === -1) {
    UrlText = 'http://' + UrlText;
  }
  MouseIn = 0;
  bTrans = 0;
  clearTimeout(Inter);
  Inter = setTimeout(TimeOutHide, 4000);
  $('#openurl').attr('href', UrlText);
  return $('#ShowUpBox').css('opacity', 0.9).fadeIn(150);
};

OpenSet = function() {
  return $('#popup_setting').css('top', '110px');
};

GetOpt = function(id) {
  return $(id).data('val');
};

SetOpt = function(id) {
  var dom, val;
  dom = $("#" + id);
  val = GM_getValue(id);
  if (!val) {
    dom.addClass('close');
  }
  dom.data('val', val);
  return dom.click(function() {
    $(this).toggleClass('close');
    if ($(this).data('val')) {
      return $(this).data('val', 0);
    } else {
      return $(this).data('val', 1);
    }
  });
};

SettingWin = function() {
  var SaveOpt, item, _i, _len, _ref, _results;
  GM_addStyle('#popup_setting {transition:0.6s ease top; top:-100%; text-align: justify;position:fixed;left:-moz-calc(50% - 310px);left:-webkit-calc(50% - 310px);width:600px;background:#FFF;box-shadow:0 0 5px #222;padding:20px 10px 50px 20px;z-index:102400;} #rol1,#rol2{text-align: justify;} #popup_save{display:inline-block;position:absolute;right:15px;bottom:10px;} .setting_btn_inside{font-size:16px;padding:4px;-moz-user-select:none;cursor:default;}.setting_btn_inside:hover{background:#DDD;}.setting_btn_inside:active{box-shadow:0 0 3px #999 inset;}');
  GM_addStyle('.setting_sp_btn{min-width:120px;height:18px;font-size:12px;padding:4px;-moz-user-select:none;cursor:default;position:relative;margin:5px;margin-right:60px;display:inline-block;} .setting_sp_btn.close{background:#DDD;border:none;} .setting_sp_btn::before{position:absolute;right:-26px;top:0;content:"";width:26px;height:26px;background:#6B4;transition:0.3s;} .setting_sp_btn.close::before{background:#C54;} .setting_sp_btn:hover{background:#DDD;} .setting_sp_btn:active{box-shadow:0 0 3px #999 inset;}');
  $("body").append($('<div id="popup_setting"> <div style="font-size:16px;">PopUp设置:请选择需要显示的项目<br><br> </div> <div id="rol1"> </div> <div id="rol2"> </div> <div id="rol3"> </div> <div id="rol4"> </div> <div id = "btnarea"> <div style="font-size:12px;bottom:13px;position:absolute;left:20px;color:red;">请在Greasemonkey的"用户脚本命令"菜单的"Popup Search设置"下打开此选项</div> <div id="popup_save" class="setting_btn_inside" style="display:inline-block;">Save</div> <div id="popup_close" class="setting_btn_inside" style="display:inline-block;position:absolute;right:85px;bottom:10px;">Close</div> </div></div>'));
  $("#rol1").append($('<div id="Baidu_st">Baidu搜索</div> <div id="Bing_st">Bing搜索</div> <div id="Open_st">选中视作链接打开按钮</div>'));
  $("#rol2").append($('<div id="Google_st">Google搜索</div> <div id="Fade_st">超时自动隐藏</div> <div id="Dis_st">显示于文字上方</div>'));
  $("#rol3").append($('<div id="Tab_st"">新标签页打开</div> <div id="Copy_st">选中自动复制</div>  <div id="Ctrl_st">仅按下Ctrl时显示</div>'));
  $("#rol4").append($('<div id="Round_st"">弹出框直角风格</div>'));
  $("#rol1 > div, #rol2 > div, #rol3 > div, #rol4 > div").addClass("setting_sp_btn");
  $("#popup_close").click(function() {
    $("#popup_setting").fadeOut(400, function() {
      $("#popup_setting").remove();
      return SettingWin();
    });
  });
  SaveOpt = function(id) {
    var dom;
    dom = $("#" + id);
    return GM_setValue(id, dom.data('val'));
  };
  $("#popup_save").click(function() {
    var item, _i, _len, _ref;
    _ref = $("#popup_setting .setting_sp_btn");
    for (_i = 0, _len = _ref.length; _i < _len; _i++) {
      item = _ref[_i];
      if (item != null) {
        SaveOpt(item.id);
      }
    }
    $("#popup_setting").fadeOut(400, function() {
      $("#popup_setting").remove();
      return SettingWin();
    });
    $('#ShowUpBox').remove();
    return Init();
  });
  _ref = $("#popup_setting .setting_sp_btn");
  _results = [];
  for (_i = 0, _len = _ref.length; _i < _len; _i++) {
    item = _ref[_i];
    if (item != null) {
      _results.push(SetOpt(item.id));
    }
  }
  return _results;
};

Load = function() {
  var UpdateAlert, popupmenu;
  UpdateAlert = GM_getValue("UpdateAlert", 0);
  if (UpdateAlert < 4) {
    GM_setValue("UpdateAlert", 4);
    GM_setValue("Open_st", GM_getValue("Open_st", 1));
    GM_setValue("Baidu_st", GM_getValue("Baidu_st", 1));
    GM_setValue("Bing_st", GM_getValue("Bing_st", 1));
    GM_setValue("Google_st", GM_getValue("Google_st", 1));
    GM_setValue("Fade_st", GM_getValue("Fade_st", 1));
    GM_setValue("Ctrl_st", GM_getValue("Ctrl_st", 0));
    GM_setValue("Dis_st", GM_getValue("Dis_st", 1));
    GM_setValue("Tab_st", GM_getValue("Tab_st", 1));
    GM_setValue("Copy_st", GM_getValue("Copy_st", 0));
    GM_setValue("Round_st", GM_getValue("Round_st", 1));
    SettingWin();
    OpenSet();
  } else {
    SettingWin();
  }
  Init();
  GM_registerMenuCommand("Popup Search设置", OpenSet, 'p');
  if (GM_getValue("PopupMenu", 0)) {
    popupmenu = document.body.appendChild(document.createElement("menu"));
    popupmenu.outerHTML = '<menu id="userscript-popup" type="context"><menuitem id="Popupset" label="Popup Search设置"></menuitem></menu>';
    document.querySelector("#Popupset").addEventListener("click", OpenSet, false);
    return document.body.addEventListener("contextmenu", (function() {
      return document.body.setAttribute("contextmenu", "userscript-popup");
    }), false);
  }
};

setTimeout(Load, 100);