您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
洛克王国全屏、防止误操作等
// ==UserScript== // @name StarSea星海 // @version 0.3.5 // @description 洛克王国全屏、防止误操作等 // @author 星海 // @match https://res.17roco.qq.com/h5/* // @namespace https://17roco.qq.com/h5/ // ==/UserScript== (async function () { 'use strict'; console.log('脚本已启动'); const appContainer = document.createElement('div'); appContainer.id = 'app'; document.body.appendChild(appContainer); const meta = document.createElement('meta'); meta.name = 'referrer'; meta.content = 'no-referrer'; document.head.appendChild(meta); // 添加 CSS 样式到页面 function addStyle(cssText) { const style = document.createElement('style'); style.type = 'text/css'; style.appendChild(document.createTextNode(cssText)); document.head.appendChild(style); } // 动态加载 CSS async function loadCSS(urls) { for (const url of urls) { try { const response = await fetch(url); if (response.ok) { const cssText = await response.text(); addStyle(cssText); console.log(`成功加载 CSS: ${url}`); break; // 成功加载后停止尝试 } } catch (error) { console.warn(`加载 CSS 失败: ${url}`, error); } } } // 动态加载 JavaScript async function loadJS(urls) { for (const url of urls) { try { await new Promise((resolve, reject) => { const script = document.createElement('script'); script.type = 'module'; script.src = url; script.onload = () => { console.log(`成功加载 JS: ${url}`); resolve(); }; script.onerror = () => { console.warn(`加载 JS 失败: ${url}`); reject(); }; document.body.appendChild(script); }); break; // 成功加载后停止尝试 } catch (error) { console.warn(`尝试加载 JS 失败: ${url}`, error); } } } // 1. 加载 settings.json async function loadSettings() { const randomString = Math.random().toString(36).substring(2) + Date.now(); const settingsUrl = `https://vip.123pan.cn/1843426599/starsea/setting.json?r=${randomString}`; try { const response = await fetch(settingsUrl); if (response.ok) { const settings = await response.json(); return settings; } else { throw new Error(`无法加载 settings.json,状态码: ${response.status}`); } } catch (error) { console.error('加载 settings.json 失败:', error); return null; } } // 2. 主逻辑 const settings = await loadSettings(); if (settings) { const { static: staticHosts, js: jsPath, css: cssPath } = settings; // 构建完整的链接 const jsUrls = staticHosts.map(host => `https://${host}${jsPath}`); const cssUrls = staticHosts.map(host => `https://${host}${cssPath}`); // 加载 JS 和 CSS await Promise.all([loadJS(jsUrls), loadCSS(cssUrls)]); } else { console.error('未能加载配置,脚本终止。'); } })();