您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Popup Search Box and translate (etc) for selected Text
当前为
// ==UserScript== // @name Popup Search // @author lkytal // @namespace Lkytal // @description Popup Search Box and translate (etc) for selected Text // @include * // @require http://code.jquery.com/jquery-2.1.0.min.js // @version 2.5.9 // @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(); Init(); return false; } else if (event.which === 2) { event.preventDefault(); return GM_openInTab(document.defaultView.getSelection().toString()); } }); $DivBox.on("contextmenu", function(event) { event.stopPropagation(); event.preventDefault(); return false; }); document.getElementById("ShowUpBox").oncontextmenu = function(event) { event.stopPropagation(); event.preventDefault(); return false; }; $DivBox.on("mousedown", function(event) { return event.stopPropagation(); }); $DivBox.on("dblclick", function(event) { return event.stopPropagation(); }); $DivBox.on("click", 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|auto"; return GM_xmlhttpRequest({ method: 'POST', url: 'http://translate.google.cn/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://translate.google.cn/translate_t?text=" + txt + "&langpair=auto|auto"; 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(); $('#popupwapper').hide(); fixPos(document.defaultView.getSelection()); return bTrans = 1; } }); }); 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://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').show().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; GM_addStyle('#popup_setting {all: unset;display:none; transition:0.6s ease top; top:-200%; 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="Google_st">Google搜索</div> <div id="Bing_st">Bing搜索</div> <div id="Baidu_st">Baidu搜索</div>')); $("#rol2").append($('<div id="Open_st">选中视作链接打开按钮</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')); }; _ref = $("#popup_setting .setting_sp_btn"); for (_i = 0, _len = _ref.length; _i < _len; _i++) { item = _ref[_i]; if (item != null) { SetOpt(item.id); } } return $("#popup_save").click(function() { var _j, _len1, _ref1; _ref1 = $("#popup_setting .setting_sp_btn"); for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { item = _ref1[_j]; if (item != null) { SaveOpt(item.id); } } $("#popup_setting").fadeOut(400, function() { $("#popup_setting").remove(); return SettingWin(); }); $('#ShowUpBox').remove(); return Init(); }); }; 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);