|
|
发表于
2026-3-11 19:57:38
来自手机
|
显示全部楼层
来自 安徽
根据贴主的代码片段提供,我找豆包写了一个优化脚本,可以在其他浏览器使用
// ==UserScript==
// @name 博客侠H5-手机F12调试台+VIP锁自动注入
// @namespace https://github.com/Tampermonkey/
// @version 10.0
// @description 适配uni-app H5页面,手机端复刻F12调试工具,自动注入lockVip本地存储,双保险确保生效
// @author You
// 【重要】请把下面的*://*/* 改成你的目标网站地址,比如 *://www.example.com/h5/*
// @match *://*/*
// @grant none
// @run-at document-end
// @license MIT
// ==/UserScript==
(function () {
'use strict';
// ====================== 核心1:双保险注入 lockVip (适配uni-app H5)======================
// 保险1:等待uni对象加载完成,调用官方API注入
const waitUniAndExec = setInterval(() => {
if (window.uni && typeof window.uni.setStorageSync === 'function') {
clearInterval(waitUniAndExec);
try {
// 执行你需要的注入代码
uni.setStorageSync('lockVip', true);
const result = uni.getStorageSync('lockVip');
console.log('✅ 【uni API】lockVip注入成功', '当前值:', result);
} catch (err) {
console.error('❌ 【uni API】lockVip注入失败', err);
// 执行失败自动触发保险2
directSetLocalStorage();
}
}
}, 200);
// 保险2:直接操作localStorage(uni-app H5底层存储本质,兜底方案)
function directSetLocalStorage() {
try {
// uni-app H5 固定存储格式:key 加 uni_storage_ 前缀,值为JSON序列化字符串
localStorage.setItem('uni_storage_lockVip', JSON.stringify(true));
const result = localStorage.getItem('uni_storage_lockVip');
console.log('✅ 【兜底方案】lockVip注入成功', '当前值:', result);
} catch (err) {
console.error('❌ 【兜底方案】lockVip注入失败', err);
}
}
// 10秒超时兜底:若未检测到uni对象,直接执行本地存储注入
setTimeout(() => {
clearInterval(waitUniAndExec);
if (!window.uni) {
console.warn('⚠️ 未检测到uni对象,触发兜底注入方案');
directSetLocalStorage();
}
}, 10000);
// ====================== 核心2:手机端仿F12调试控制台(Eruda稳定版)======================
// 防止重复注入
if (window.eruda || document.getElementById('eruda-inject-script')) {
console.log('ℹ️ 调试台已加载,无需重复注入');
return;
}
// 创建script标签,配置双CDN备用,解决国内网络加载失败问题
const script = document.createElement('script');
script.id = 'eruda-inject-script';
script.crossOrigin = 'anonymous';
// 主CDN:jsDelivr
script.src = '//cdn.jsdelivr.net/npm/eruda';
// 备用CDN:unpkg,主CDN加载失败时自动切换
script.onerror = function () {
console.warn('⚠️ 主CDN加载失败,切换备用CDN');
script.src = '//unpkg.com/eruda';
script.onerror = function () {
console.error('❌ 调试台加载失败,请检查网络连接');
};
};
// 加载成功后初始化调试台
script.onload = function () {
if (window.eruda) {
eruda.init();
console.log('✅ 手机端F12调试台加载完成!点击页面右下角齿轮图标即可打开/关闭');
console.log(' |
|