fast search

该脚实现选中文本快速复制,快速搜索的功能

  1. // ==UserScript==
  2. // @name fast search
  3. // @namespace https://github.com/peihaojie/fastSearch
  4. // @author HaoJie
  5. // @description 该脚实现选中文本快速复制,快速搜索的功能
  6. // @description 注意: 需要增加适配网站,请手动修改 @include
  7. // @supportURL https://github.com/peihaojie/fastSearch/issues
  8. // @run-at document-body
  9. // @resource https://at.alicdn.com/t/font_3148281_vf5cr0hy39.css?spm=a313x.7781069.1998910419.83&file=font_3148281_vf5cr0hy39.css
  10. // @include *
  11. // @exclude *://www.iconfont.cn/*
  12. // @version 1.2.1
  13. // @icon data:image/png;base64,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
  14. // ==/UserScript==
  15. class InitSearch {
  16. constructor() {
  17. this.initStatic();
  18. this.initStyle();
  19. this.mouseupListener();
  20. }
  21.  
  22. initStatic() {
  23. this.href =
  24. "https://at.alicdn.com/t/font_3148281_vf5cr0hy39.css?spm=a313x.7781069.1998910419.83&file=font_3148281_vf5cr0hy39.css";
  25.  
  26. this.style = `
  27. *::selection {
  28. background: #CCCCCC;
  29. color: #3399CC;
  30. }
  31.  
  32. .search--btn__wrap {
  33. height: 30px;
  34. border-radius: 5px;
  35. background: #fff;
  36. position: absolute;
  37. cursor: pointer;
  38. box-shadow: 0px 0px 5px 2px #9e9e9e;
  39. overflow: hidden;
  40. display: flex;
  41. z-index: 9999;
  42. }
  43.  
  44. .search--btn__wrap .search--btn {
  45. cursor: pointer;
  46. width: 30px;
  47. height: 30px;
  48. font-size: 20px;
  49. display: inline-flex;
  50. align-items: center;
  51. justify-content: center;
  52. position: relative;
  53. }
  54.  
  55. .search--btn__wrap .search--btn:hover {
  56. background-color: #9e9e9e;
  57. }
  58.  
  59. .iconfont::before {
  60. z-index: 1;
  61. }
  62.  
  63. .iconfont::after {
  64. content: attr(after);
  65. // position: absolute;
  66. // top: 0;
  67. // right: 0;
  68. // bottom: 0;
  69. // left: 0;
  70. // display: flex;
  71. // align-items: center;
  72. // justify-content: center;
  73. font-size: 12px;
  74. }
  75. `;
  76. }
  77.  
  78. initStyle() {
  79. const stylesheet = document.createElement("link");
  80. stylesheet.rel = "stylesheet";
  81. stylesheet.href = this.href;
  82. document.head.appendChild(stylesheet);
  83. const style = document.createElement("style");
  84. const styleText = document.createTextNode(this.style);
  85. style.appendChild(styleText);
  86. document.head.appendChild(style);
  87. }
  88.  
  89. mouseupListener() {
  90. document.body.addEventListener(
  91. "mouseup",
  92. (e) => {
  93. setTimeout(() => {
  94. const selection = document.getSelection();
  95. const selectStr = selection.toString();
  96.  
  97. const delBtn = document.getElementById("btn");
  98. delBtn && document.body.removeChild(delBtn);
  99.  
  100. if (selectStr === "") {
  101. return false;
  102. }
  103.  
  104. const { anchorOffset, focusOffset, isCollapsed } = selection;
  105.  
  106. if (isCollapsed) {
  107. return false;
  108. }
  109.  
  110. const position = this.getPosition(e, anchorOffset, focusOffset);
  111. const btnWrap = this.createBtnWrap(position, selectStr);
  112. document.body.appendChild(btnWrap);
  113. }, 100);
  114. },
  115. false
  116. );
  117. }
  118.  
  119. getPosition(e, anchorOffset, focusOffset) {
  120. let left = e.clientX + 10;
  121. let top = e.pageY;
  122. if (anchorOffset > focusOffset) {
  123. left -= 200;
  124. top -= 45;
  125. }
  126. return { left: `${left}px`, top: `${top}px` };
  127. }
  128.  
  129. createBtnWrap({ left, top }, selectStr) {
  130. const btn = document.createElement("div");
  131. btn.classList.add("search--btn__wrap");
  132. btn.style.left = left;
  133. btn.style.top = top;
  134. btn.setAttribute("id", "btn");
  135. btn.setAttribute("data-text", selectStr);
  136. this.createBtnList(btn);
  137. return btn;
  138. }
  139.  
  140. createBtnList(btn) {
  141. const btnList = [
  142. {
  143. url: "https://www.google.com/search?q=",
  144. title: "google搜索",
  145. after: "谷歌",
  146. icon: "icon-google",
  147. },
  148. {
  149. url: "https://cn.bing.com/search?q=",
  150. title: "必应搜索",
  151. after: "必应",
  152. icon: "icon-Bing",
  153. },
  154. {
  155. url: "https://www.baidu.com/s?wd=",
  156. title: "百度一下",
  157. after: "百度",
  158. icon: "icon-baidu",
  159. },
  160. {
  161. url: "https://www.so.com/s?q=",
  162. title: "360搜索",
  163. after: "360",
  164. icon: "icon-icon-test",
  165. },
  166. {
  167. url: "https://www.sogou.com/web?query=",
  168. title: "搜狗搜索",
  169. after: "搜狗",
  170. icon: "icon-sougoushuru",
  171. },
  172. {
  173. url: "https://www.zhihu.com/search?q=",
  174. title: "知乎搜索",
  175. after: "知乎",
  176. icon: "icon-shejiaotubiao-10",
  177. },
  178. {
  179. url: false,
  180. title: "点击复制",
  181. after: "复制",
  182. icon: "icon-fuzhi",
  183. },
  184. ];
  185. btnList.forEach((btnItem) => this.createBtnItem(btn, btnItem));
  186. }
  187.  
  188. createBtnItem(btn, { url, title, icon, after }) {
  189. const search = document.createElement("div");
  190. search.classList.add("search--btn", "iconfont", icon);
  191. search.setAttribute("title", title);
  192. search.addEventListener("mouseup", (e) => {
  193. const text = btn.getAttribute("data-text");
  194. switch (url) {
  195. case false:
  196. this.copyText(text);
  197. break;
  198. default:
  199. window.open(`${url}${text}`);
  200. break;
  201. }
  202. e.stopPropagation();
  203. document.body.removeChild(btn);
  204. });
  205. btn.appendChild(search);
  206. setTimeout(() => {
  207. const content = window
  208. .getComputedStyle(search, "before")
  209. .getPropertyValue("content");
  210. if (content === "none") {
  211. search.setAttribute("after", after);
  212. }
  213. }, 100);
  214. }
  215.  
  216. copyText(text) {
  217. const input = document.createElement("input");
  218. input.value = text;
  219. document.body.appendChild(input);
  220. input.select();
  221. document.execCommand("copy");
  222. document.body.removeChild(input);
  223. }
  224. }
  225.  
  226. new InitSearch();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址