您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
注意: 该脚实现选中文本快速复制,快速搜索的功能
当前为
- // ==UserScript==
- // @name fast search
- // @namespace https://github.com/peihaojie/Greasemonkey-script
- // @description 注意: 该脚实现选中文本快速复制,快速搜索的功能
- // @description 注意: 需要增加适配网站,请手动修改 @include
- // @include *
- // @version 1.0
- // @icon https://raw.githubusercontent.com/peihaojie/Greasemonkey-script/master/icon.png
- // ==/UserScript==
- class InitSearch {
- #href =
- "https://at.alicdn.com/t/font_3148281_rakewyhjzvo.css?spm=a313x.7781069.1998910419.44&file=font_3148281_rakewyhjzvo.css";
- #style = `
- *::selection {
- background: #CCCCCC;
- color: #3399CC;
- }
- .search--btn__wrap {
- width: 180px;
- height: 30px;
- border-radius: 5px;
- background: #fff;
- position: fixed;
- cursor: pointer;
- box-shadow: 0px 0px 5px 2px #9e9e9e;
- overflow: hidden;
- display: flex;
- }
- .search--btn__wrap .search--btn {
- cursor: pointer;
- width: 30px;
- height: 30px;
- font-size: 20px;
- display: inline-flex;
- align-items: center;
- justify-content: center;
- }
- .search--btn__wrap .search--btn:hover {
- background-color: #9e9e9e;
- }
- `;
- constructor() {
- this.initStyle();
- this.mouseupListener();
- }
- initStyle() {
- const stylesheet = document.createElement("link");
- stylesheet.rel = "stylesheet";
- stylesheet.href = this.#href;
- document.head.appendChild(stylesheet);
- const style = document.createElement("style");
- const styleText = document.createTextNode(this.#style);
- style.appendChild(styleText);
- document.head.appendChild(style);
- }
- mouseupListener() {
- document.body.addEventListener(
- "mouseup",
- (e) => {
- const selection = document.getSelection();
- const selectStr = selection.toString();
- const delBtn = document.getElementById("btn");
- delBtn && document.body.removeChild(delBtn);
- if (selectStr === "") {
- return false;
- }
- const { anchorOffset, focusOffset, isCollapsed } = selection;
- if (isCollapsed) {
- return false;
- }
- const position = this.getPosition(e, anchorOffset, focusOffset);
- const btnWrap = this.createBtnWrap(position, selectStr);
- document.body.appendChild(btnWrap);
- },
- false
- );
- }
- getPosition(e, anchorOffset, focusOffset) {
- let left = e.clientX;
- let top = e.clientY;
- if (anchorOffset > focusOffset) {
- left -= 180;
- top -= 30;
- }
- return { left: `${left}px`, top: `${top}px` };
- }
- createBtnWrap({ left, top }, selectStr) {
- const btn = document.createElement("div");
- btn.classList.add("search--btn__wrap");
- btn.style.left = left;
- btn.style.top = top;
- btn.setAttribute("id", "btn");
- btn.setAttribute("data-text", selectStr);
- this.createBtnList(btn);
- return btn;
- }
- createBtnList(btn) {
- const btnList = [
- {
- url: "https://www.google.com/search?q=",
- title: "google搜索",
- icon: "icon-google",
- },
- {
- url: "https://cn.bing.com/search?q=",
- title: "必应搜索",
- icon: "icon-Bing",
- },
- {
- url: "https://www.baidu.com/s?wd=",
- title: "百度一下",
- icon: "icon-baidu",
- },
- {
- url: "https://www.so.com/s?q=",
- title: "360搜索",
- icon: "icon-360logo",
- },
- {
- url: "https://www.sogou.com/web?query=",
- title: "搜狗搜索",
- icon: "icon-sougoushuru",
- },
- {
- url: false,
- title: "点击复制",
- icon: "icon-fuzhi",
- },
- ];
- btnList.forEach((btnItem) => this.createBtnItem(btn, btnItem));
- }
- createBtnItem(btn, { url, title, icon }) {
- const search = document.createElement("div");
- search.classList.add("search--btn", "iconfont", icon);
- search.setAttribute("title", title);
- search.addEventListener("mouseup", (e) => {
- const text = btn.getAttribute("data-text");
- switch (url) {
- case false:
- this.copyText(text);
- break;
- default:
- window.open(`${url}${text}`);
- break;
- }
- e.stopPropagation();
- document.body.removeChild(btn);
- });
- btn.appendChild(search);
- }
- copyText(text) {
- const input = document.createElement("input");
- input.value = text;
- document.body.appendChild(input);
- input.select();
- document.execCommand("copy");
- document.body.removeChild(input);
- }
- }
- window.onload = () => {
- new InitSearch();
- };
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址