油猴划词搜索脚本划词弹出图标框,如何点划词文字后,图标消失呢

划词后弹出图标框,点击划词文字,文字内容选中消失,但是图标框会闪一下,又出现了不消失了,如何点划词文字,图标框消失呢

脚本链接:Popup Search

ShowBar = function (event) {
  var engine, j, k, len, len1, paraList, ref, ref1, sel, setHref;
  sel = document.defaultView.getSelection();

  if (InTextBox(sel) || eventFromTextbox([event, popData.mousedownEvent])) {
    return;
  }

  popData.rawText = sel.toString();
  popData.text = encodeURIComponent(popData.rawText.trim());

  if (popData.rawText === '') {
    return;
  }

  if (GetOpt("AutoCopy_st")) {
    CopyText(popData.rawText);
  }

  $('#transPanel').empty().hide();
  paraList = {
    "\\${rawText}": popData.rawText,
    "\\${text}": popData.text,
    "\\${domain}": document.domain,
    "\\${url}": location.href
  };
  setHref = function (engine) {
    var $engine, href, para, value; //log engine.id + " : " + engine.href

    href = engine.href;

    for (para in paraList) {
      if (!hasProp.call(paraList, para)) continue;
      value = paraList[para];
      href = href.replace(RegExp("" + para, "g"), value);
    }

    $engine = $("#" + engine.id + "Icon");
    return $engine.data('link', href);
  };

  ref = popData.engines;

  for (j = 0, len = ref.length; j < len; j++) {
    engine = ref[j];
    setHref(engine);
  }

  ref1 = popData.userEngines;

  for (k = 0, len1 = ref1.length; k < len1; k++) {
    engine = ref1[k];
    setHref(engine);
  }

  if (needPrefix(popData.rawText)) {
    $('#Open_stIcon').data('link', "http://" + popData.rawText.trim());
  }

  popData.mouseIn = 0;
  popData.bTrans = 0;
  clearTimeout(popData.timer);
  popData.timer = setTimeout(TimeOutHide, 6000);
  fixPos(sel, event);
    return $('#ShowUpBox').css('opacity', 0.9).fadeIn();
};

参考GPT和自己的思路:

根据提供的代码,可以看出图标框消失的逻辑是通过调用 TimeOutHide 函数来实现的。因此,要让图标框消失,可以手动调用 TimeOutHide 函数或者修改界面交互逻辑,例如取消自动弹出图标框功能等。另外,如果需要具体的代码修改方案,建议联系脚本作者或者自己进行相关代码修改。