您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
ChatGpt
当前为
// ==UserScript== // @name 王攀的ChatGpt // @namespace http://tampermonkey.net/ // @version 1.4 // @description ChatGpt // @author wangpan // @match *://*/* // @grant none // @license MIT // ==/UserScript== // 此元数据用于描述用户脚本的信息,包括脚本名称、作者、版本等。 // @name:脚本的名称,将显示在用户脚本管理器中。 // @namespace:脚本的命名空间,用于标识脚本的唯一性。 // @version:脚本的版本号,用于跟踪脚本的更新。 // @description:脚本的简要描述,用于向用户解释脚本的功能。 // @author:脚本的作者,用于注明脚本的创建者。 // @match:脚本匹配的 URL 模式,用于指定脚本在哪些网站上运行。 // @grant:脚本需要的权限,用于指定脚本可以访问的浏览器功能。 // @license:脚本的许可证,用于指定脚本的使用条款。 // @downloadURL:脚本的下载 URL,用于提供脚本的更新。 // @updateURL:脚本的更新 URL,用于提供脚本的更新检查。 (function() { 'use strict'; // 定义一些变量 let popupOpen = false; // 标记弹出窗口是否打开 let popupElement = null; // 保存弹出窗口元素的引用 // 创建聊天按钮 function createChatButton() { // 创建一个按钮元素 const chatButton = document.createElement('button'); // 设置按钮的文本内容 chatButton.textContent = 'Chat'; // 设置按钮的样式 chatButton.style.position = 'fixed'; // 固定定位 chatButton.style.bottom = '20px'; // 距离底部 20px chatButton.style.right = '27px'; // 距离右侧 27px chatButton.style.width = '40px'; // 宽度为 40px chatButton.style.height = '22px'; // 高度为 20px chatButton.style.zIndex = '9999'; // 设置较高的 z-index 以确保按钮始终在最前面 chatButton.style.padding = '10px'; // 设置按钮内边距 chatButton.style.backgroundColor = '#007bff'; // 设置按钮背景色 chatButton.style.color = 'white'; // 设置按钮文本颜色 chatButton.style.border = 'none'; // 去除按钮边框 chatButton.style.borderRadius = '5px'; // 设置按钮圆角 chatButton.style.cursor = 'pointer'; // 设置按钮光标为指针 chatButton.style.display = 'flex'; // 设置按钮为 flex 布局 chatButton.style.justifyContent = 'center'; // 让按钮文字水平居中 chatButton.style.alignItems = 'center'; // 让按钮文字垂直居中 // 添加点击事件监听器 chatButton.addEventListener('click', function() { // 如果弹出窗口已打开,则关闭它 if (popupOpen) { document.body.removeChild(popupElement); popupOpen = false; popupElement = null; } else { // 如果弹出窗口未打开,则创建它 createPopup(); popupOpen = true; } }); // 将按钮添加到页面中 document.body.appendChild(chatButton); } // 创建弹出窗口 function createPopup() { // 创建一个 div 元素作为弹出窗口 const popup = document.createElement('div'); // 设置弹出窗口的 ID popup.id = 'chatPopup'; // 设置弹出窗口的样式 popup.style.position = 'fixed'; // 固定定位 popup.style.bottom = '20px'; // 距离底部 20px popup.style.right = '20px'; // 距离右侧 20px popup.style.width = '360px'; // 宽度为 360px popup.style.height = '650px'; // 高度为 650px popup.style.backgroundColor = '#f9f9f9'; // 设置背景色 popup.style.border = '1px solid #ccc'; // 设置边框 popup.style.borderRadius = '8px'; // 设置圆角 popup.style.boxShadow = '0 2px 4px rgba(0, 0, 0, 0.1)'; // 设置阴影 popup.style.overflow = 'hidden'; // 隐藏溢出内容 popup.style.zIndex = '999'; // 设置较高的 z-index 以确保弹出窗口始终在最前面 // 创建一个 iframe 元素并将其添加到弹出窗口中 const iframe = document.createElement('iframe'); iframe.src = 'https://zhangrui.chat/#/chat'; // 设置 iframe 的源 URL iframe.style.width = '100%'; // 设置 iframe 的宽度 iframe.style.height = '100%'; // 设置 iframe 的高度 iframe.style.border = 'none'; // 去除 iframe 的边框 popup.appendChild(iframe); // 将弹出窗口添加到页面中 document.body.appendChild(popup); // 保存弹出窗口元素的引用 popupElement = popup; } // 添加右键菜单 document.addEventListener('contextmenu', function(e) { // 阻止默认右键菜单 e.preventDefault(); // 移除之前存在的右键菜单 const existingContextMenu = document.getElementById('contextMenu'); if (existingContextMenu) { document.body.removeChild(existingContextMenu); } // 创建一个 div 元素作为右键菜单 const contextMenu = document.createElement('div'); // 设置右键菜单的 ID contextMenu.id = 'contextMenu'; // 设置右键菜单的样式 contextMenu.style.position = 'fixed'; // 固定定位 contextMenu.style.top = e.clientY + 'px'; // 设置距离鼠标光标顶部的位置 contextMenu.style.left = e.clientX + 'px'; // 设置距离鼠标光标左边的位置 contextMenu.style.backgroundColor = '#fff'; // 设置背景色 contextMenu.style.border = '1px solid #ccc'; // 设置边框 contextMenu.style.padding = '5px'; // 设置内边距 contextMenu.style.zIndex = '9999'; // 设置较高的 z-index 以确保右键菜单始终在最前面 // 根据弹出窗口是否打开,添加不同的选项 if (popupOpen) { // 如果弹出窗口已打开,则添加关闭选项 const closeChatOption = document.createElement('div'); closeChatOption.textContent = '关闭 Chat'; // 设置选项文本 closeChatOption.style.cursor = 'pointer'; // 设置光标为指针 closeChatOption.addEventListener('click', function() { // 如果弹出窗口已打开,则关闭它 if (popupOpen) { document.body.removeChild(popupElement); popupOpen = false; popupElement = null; } // 移除右键菜单 document.body.removeChild(contextMenu); }); contextMenu.appendChild(closeChatOption); } else { // 如果弹出窗口未打开,则添加打开选项 const openChatOption = document.createElement('div'); openChatOption.textContent = '打开 Chat'; // 设置选项文本 openChatOption.style.cursor = 'pointer'; // 设置光标为指针 openChatOption.addEventListener('click', function() { // 如果弹出窗口未打开,则创建它 if (!popupOpen) { createPopup(); popupOpen = true; } // 移除右键菜单 document.body.removeChild(contextMenu); }); contextMenu.appendChild(openChatOption); } // 将右键菜单添加到页面中 document.body.appendChild(contextMenu); }); // 检查当前页面是否是 https://zhangrui.chat/#/chat,如果是则不创建聊天按钮 if (!window.location.href.includes('https://zhangrui.chat/#/chat')) { createChatButton(); } })();