// ==UserScript== // @name ⚡️ 掘金 |csdn |知乎 | 独家UI排版 更方便您的阅读📖 去广告🪧 免登录复制 一键复制 去剪贴板劫持 持续更新 外链跳转 宽屏展示 不定期帮忙下载资源 // @namespace https://github.com/wandou-cc/blog-ui // @version 1.3.4 // @description ⚡️ 掘金 |csdn | 知乎 独家UI排版 更方便您的阅读📖 去广告🪧 免登录复制 一键复制 劫持剪贴板 持续更新 |💫全新布局|🫥去掉一些花里胡哨的组件,阅读更加清晰|🐯基本实现显示部分由用户自己定制|🌈直接一键复制 不在需要登录|✨展开所有折叠代码,简化操作|支持移动端PC端通通优化|入口支持拖拽放置 // @author wandou-cc // @include *://*.csdn.net/* // @include *://*juejin.cn/* // @include *://*zhihu.com/* // @resource css https://cdn.jsdelivr.net/gh/wandou-cc/blog-ui@20230912_v1/index.css // @require https://unpkg.com/better-scroll@latest/dist/better-scroll.min.js // @icon data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gIoSUNDX1BST0ZJTEUAAQEAAAIYAAAAAAQwAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAAHRyWFlaAAABZAAAABRnWFlaAAABeAAAABRiWFlaAAABjAAAABRyVFJDAAABoAAAAChnVFJDAAABoAAAAChiVFJDAAABoAAAACh3dHB0AAAByAAAABRjcHJ0AAAB3AAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAFgAAAAcAHMAUgBHAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z3BhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABYWVogAAAAAAAA9tYAAQAAAADTLW1sdWMAAAAAAAAAAQAAAAxlblVTAAAAIAAAABwARwBvAG8AZwBsAGUAIABJAG4AYwAuACAAMgAwADEANv/bAEMAUDc8RjwyUEZBRlpVUF94yIJ4bm549a+5kcj////////////////////////////////////////////////////bAEMBVVpaeGl464KC6//////////////////////////////////////////////////////////////////////////AABEIA/IDmAMBIgACEQEDEQH/xAAZAAEAAwEBAAAAAAAAAAAAAAAAAgMEAQX/xAAtEAEAAgECBAUFAQEBAQEBAAAAAQIDETEEEiFRMjNBYXETIlKBkUKhFCNisf/EABcBAQEBAQAAAAAAAAAAAAAAAAABAgP/xAAcEQEBAQEBAQEBAQAAAAAAAAAAARExQSECElH/2gAMAwEAAhEDEQA/AJgMMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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 // @grant unsafeWindow // @grant GM_addStyle // @grant GM_getResourceText // @grant GM_setValue // @grant GM_getValue // @grant GM_deleteValue // @grant GM_listValues // @license MIT License // @note 1.3.4 修复了一些问题 // @noframes // @downloadURL https://update.greasyfork.icu/scripts/451555/%E2%9A%A1%EF%B8%8F%20%E6%8E%98%E9%87%91%20%EF%BD%9Ccsdn%20%EF%BD%9C%E7%9F%A5%E4%B9%8E%20%EF%BD%9C%20%E7%8B%AC%E5%AE%B6UI%E6%8E%92%E7%89%88%20%E6%9B%B4%E6%96%B9%E4%BE%BF%E6%82%A8%E7%9A%84%E9%98%85%E8%AF%BB%F0%9F%93%96%20%E5%8E%BB%E5%B9%BF%E5%91%8A%F0%9F%AA%A7%20%E5%85%8D%E7%99%BB%E5%BD%95%E5%A4%8D%E5%88%B6%20%E4%B8%80%E9%94%AE%E5%A4%8D%E5%88%B6%20%E5%8E%BB%E5%89%AA%E8%B4%B4%E6%9D%BF%E5%8A%AB%E6%8C%81%20%E6%8C%81%E7%BB%AD%E6%9B%B4%E6%96%B0%20%E5%A4%96%E9%93%BE%E8%B7%B3%E8%BD%AC%20%E5%AE%BD%E5%B1%8F%E5%B1%95%E7%A4%BA%20%E4%B8%8D%E5%AE%9A%E6%9C%9F%E5%B8%AE%E5%BF%99%E4%B8%8B%E8%BD%BD%E8%B5%84%E6%BA%90.user.js // @updateURL https://update.greasyfork.icu/scripts/451555/%E2%9A%A1%EF%B8%8F%20%E6%8E%98%E9%87%91%20%EF%BD%9Ccsdn%20%EF%BD%9C%E7%9F%A5%E4%B9%8E%20%EF%BD%9C%20%E7%8B%AC%E5%AE%B6UI%E6%8E%92%E7%89%88%20%E6%9B%B4%E6%96%B9%E4%BE%BF%E6%82%A8%E7%9A%84%E9%98%85%E8%AF%BB%F0%9F%93%96%20%E5%8E%BB%E5%B9%BF%E5%91%8A%F0%9F%AA%A7%20%E5%85%8D%E7%99%BB%E5%BD%95%E5%A4%8D%E5%88%B6%20%E4%B8%80%E9%94%AE%E5%A4%8D%E5%88%B6%20%E5%8E%BB%E5%89%AA%E8%B4%B4%E6%9D%BF%E5%8A%AB%E6%8C%81%20%E6%8C%81%E7%BB%AD%E6%9B%B4%E6%96%B0%20%E5%A4%96%E9%93%BE%E8%B7%B3%E8%BD%AC%20%E5%AE%BD%E5%B1%8F%E5%B1%95%E7%A4%BA%20%E4%B8%8D%E5%AE%9A%E6%9C%9F%E5%B8%AE%E5%BF%99%E4%B8%8B%E8%BD%BD%E8%B5%84%E6%BA%90.meta.js // ==/UserScript== (function () { GM_addStyle(GM_getResourceText("css")); const VERSION = '1.3.3' const TITLE = 'BLOGUI' let ISH5 = null let CURRENTPAGES = null const BLOGUICONFIG = { 2: { webType: "CSDN", pc: [ { title: "查看模式", children: [ { type: "radio", for: "CsdnRadioC", label: "居中显示", checked: true, getEvent: 'csdnRadioC' }, { type: "radio", for: "CsdnRadioP", label: "铺平展示", checked: false, getEvent: 'csdnRadioP' }, ] }, { title: "右侧选项", children: [ // 左侧 { type: "checked", domId: "#asideProfile", for: "CsdnAuthorInfo", label: "作者信息", checked: true }, { type: "checked", domId: "#asidedirectory", for: "CsdnDirectory", label: "目录", checked: false, getEvent: 'csdnDirectory' }, { type: "checked", domId: "#asideSearchArticle", for: "CsdnSerch", label: "搜索博主文章", checked: false }, { type: "checked", domId: "#asideRank", for: "CsdnAsideRank", label: "是否入选", checked: false }, { type: "checked", domId: "#asideHotArticle", for: "CsdnHotPage", label: "热门文章", checked: false }, { type: "checked", domId: "#asideCategory", for: "CsdnCategory", label: "分类专栏", checked: false }, { type: "checked", domId: "#asideNewComments", for: "CsdnComments", label: "最新评论", checked: false }, { type: "checked", domId: "#asideNewNps", for: "CsdnNewNps", label: "推荐博客", checked: false }, { type: "checked", domId: "#asideArchive", for: "CsdnArchive", label: "最新文章", checked: false }, { type: "checked", domId: "#asideWriteGuide", for: "CsdnWriteGuide", label: "发布文章", checked: false }, ] }, { title: "文章底部", children: [ { type: "checked", domId: ".recommend-box", for: "CsdnRecommend", label: "底部相关推荐", checked: false }, { type: "checked", domId: "#pcCommentBox", for: "CsdnpcCommentBox", label: "评论", checked: false }, { type: "checked", domId: "#blogExtensionBox", for: "CsdnblogExtensionBox", label: "引流信息", checked: false }, { type: "checked", domId: "#treeSkill", for: "CsdntreeSkill", label: "知识档案匹配", checked: false }, ] }, { title: "顶部导航", children: [ { type: "checked", domId: "", for: "Csdn2top", label: "顶部导航信息", checked: false, getEvent: 'removeTopbar' }, ] }, { title: "右下角悬浮", children: [ { type: "checked", domId: "", for: "CsdnSideToolbar", label: "侧边悬浮(略有延迟)", checked: false, getEvent: 'removeSideToolbar' }, ] }, { title: "其他", children: [ { type: "checked", domId: "", for: "whiteBack", label: "白色背景(对于暗色主题兼容并不好)", checked: false, getEvent: 'whiteBack' }, ] }, { title: "操作", children: [ { type: "button", class: "buttoncolor1", label: "初始化当前页面配置", getEvent: 'clearCache("BLOGUICONFIG", "2")' } ] } ], h5: [ { title: "底部", children: [ // 底部相关推荐 { type: "checked", domId: "#recommend", for: "CsdnH5Recommend", label: "底部相关推荐", checked: false }, { type: "checked", domId: "#comment", for: "CsdnH5Comment", label: "底部登录", checked: false }, { type: "checked", domId: "#blogExtensionBox", for: "CsdnH5blogExtensionBox", label: "引流信息", checked: false }, { type: "checked", domId: "", for: "CsdnH5operate", label: "底部操作是否固定", checked: false, getEvent: 'operate' } ] }, { title: "顶部", children: [ { type: "checked", domId: ".openApp", for: "CsdnH5openApp", label: "打开App", checked: false } ] }, { title: "操作", children: [ { type: "button", class: "buttoncolor1", label: "初始化当前页面配置", getEvent: 'clearCache("BLOGUICONFIG", "2")' } ] } ] }, 3: { webType: "CSDN", pc: [ { title: "顶部导航", children: [ { type: "checked", domId: "", for: "Csdn3top", label: "顶部导航信息", checked: false, getEvent: 'removeTopbar' }, { type: "checked", domId: ".blog-nps", for: "CsdnBlogNps", label: "推荐CSDN", checked: false } ] }, { title: "右侧", children: [ { type: "checked", domId: ".blog-slide-box .template", for: "Csdntemplate", label: "热门推荐/作者推荐", checked: true }, { type: "checked", domId: ".blog-slide-box .blogTree", for: "CsdnblogTree", label: "技能树", checked: true }, ] }, { title: "其他", children: [ { type: "checked", domId: "", for: "CsdnblogNav", label: "平铺显示", getEvent: 'blogNav' } ] }, { title: "操作", children: [ { type: "button", class: "buttoncolor1", label: "初始化当前页面配置", getEvent: 'clearCache("BLOGUICONFIG", "3")' } ] } ] }, 4: { webType: "CSDN", pc: [ { title: "顶部导航", children: [ { type: "checked", domId: "", for: "Csdn4top", label: "顶部导航信息", checked: false, getEvent: 'removeTopbar' } ] }, { title: "右侧", children: [ { type: "checked", domId: ".main-rt .so-questionnaire-body", for: "Csdnquestionnaire", label: "推荐CSDN", checked: false }, { type: "checked", domId: ".main-rt .so-hot-words", for: "Csdnhot-words", label: "相关搜索", checked: false }, { type: "checked", domId: ".main-rt .wrap-hot", for: "Csdnwrap-hot", label: "猜你想搜", checked: false }, { type: "checked", domId: ".main-rt .related-list", for: "related-list", label: "热搜榜", checked: false }, { type: "checked", domId: ".main-rt .so-items-taglist", for: "Csdntaglist", label: "相关标签", checked: false } ] }, { title: "其他", children: [ { type: "checked", domId: "", for: "CsdnSoNav", label: "平铺显示(请勿与其他同用)", getEvent: 'soPc' } ] }, { title: "操作", children: [ { type: "button", class: "buttoncolor1", label: "初始化当前页面配置", getEvent: 'clearCache("BLOGUICONFIG", "4")' } ] } ] }, 5: { webType: "JUEJIN", pc: [ // { // title: "查看模式", // children: [ // { type: "radio", for: "JuejinRadioC", label: "放大显示", checked: true, getEvent: 'juejinRadioC' }, // { type: "radio", for: "JuejinRadioP", label: "居中显示", checked: false, getEvent: 'juejinRadioP' }, // ] // }, { title: "顶部", children: [ { type: "checked", label: "顶部操作", for: "JuejinTop", checked: false, getEvent: 'JuejinTop' } ] }, { title: "左边栏", children: [ { type: "checked", domId: ".article-suspended-panel", for: "JuejinSuspended", label: "点赞收藏等按钮", checked: false }, ] }, { title: "右边栏", children: [ { type: "checked", domId: ".author-block", for: "JuejinAuthor", label: "作者信息", checked: true }, { type: "checked", domId: ".article-catalog", for: "JuejinSticky", label: "目录", checked: true, getEvent: 'JuejinGetMenu' }, { type: "checked", domId: ".wechat-sidebar-block", for: "JuejinSidebar", label: "圈子", checked: false }, { type: "checked", domId: ".next-article", for: "JuejinNext-article", label: "下一篇", checked: false }, { type: "checked", domId: ".related-entry-sidebar-block", for: "JuejinRelated", label: "相关文章", checked: false, getEvent: 'JuejinRelated' }, ] }, { title: "底部", children: [ { type: "checked", domId: ".column-container", for: "JuejinContainer", label: "收录", checked: false }, { type: "checked", domId: ".extension-banner", for: "JuejinExtension-banner", label: "插件", checked: false }, { type: "checked", domId: ".category-course-recommend", for: "JuejiCategory", label: "相关课程", checked: false }, { type: "checked", domId: ".comment-list-box", for: "JuejinComment", label: "评论", checked: false }, { type: "checked", domId: ".recommended-area", for: "JuejinRecommended", label: "相关推荐", checked: false }, { type: "checked", domId: ".meiqia-btn", for: "JuejinMeiqia", label: "建议反馈", checked: false }, { type: "checked", domId: ".recommended-links", for: "JuejinLinks", label: "友情链接", checked: false } ] }, { title: "操作", children: [ { type: "button", class: "buttoncolor1", label: "初始化当前页面配置", getEvent: 'clearCache("BLOGUICONFIG", "5")' } ] } ] }, 6: { webType: "JUEJIN", pc: [ { title: "顶部", children: [ { type: "checked", label: "顶部操作", for: "JuejinTop", checked: false, getEvent: 'JuejinTop' } ] }, { title: "右边广告", children: [ { type: "checked", domId: ".signin-tip", for: "JuejinSignin", label: "签到", checked: true }, { type: "checked", domId: ".user-block", for: "JuejinUserBlock", label: "作者榜", checked: false }, { type: "checked", domId: ".link-block", for: "JuejinLinkBlock", label: "插件列表", checked: false }, { type: "checked", domId: ".index-aside-footer", for: "JuejinAsideFoot", label: "底部版权", checked: false }, ] }, { title: "操作", children: [ { type: "button", class: "buttoncolor1", label: "初始化当前页面配置", getEvent: 'clearCache("BLOGUICONFIG", "6")' } ] } ] }, 7: { webType: "JUEJIN", pc: [ { title: "顶部", children: [ { type: "checked", label: "顶部操作", for: "JuejinTop", checked: false, getEvent: 'JuejinTop' } ] } ] }, 8: { webType: "SiFou", pc: [ { title: "查看模式", children: [ { type: "radio", for: "SiFouRadioC", label: "居中显示", checked: true, getEvent: 'SiFouRadioC' }, { type: "radio", for: "SiFouRadioP", label: "铺平展示", checked: false, getEvent: 'SiFouRadioP' }, ] }, { title: "文章底部", children: [ { type: "checked", domId: "#answer-question", for: "SiFouQuestion", label: "撰写回答", checked: true }, { type: "checked", domId: "", for: "SiFouMt4", label: "相似问题", checked: true, getEvent: 'similarPro' } ] }, { title: "顶部导航", children: [ { type: "checked", domId: "", for: "SiFoutop", label: "顶部导航信息", checked: false, getEvent: 'removeSifouTopbar' }, ] }, { title: "操作", children: [ { type: "button", class: "buttoncolor1", label: "初始化当前页面配置", getEvent: 'clearCache("BLOGUICONFIG", "8")' } ] } ] }, 9: { webType: "SiFou", pc: [ { title: "查看模式", children: [ { type: "radio", for: "SiFouRadioC", label: "居中显示", checked: true, getEvent: 'SiFouRadioC' }, { type: "radio", for: "SiFouRadioP", label: "铺平展示", checked: false, getEvent: 'SiFouRadioP' }, ] }, { title: "文章底部", children: [ { type: "checked", domId: "#comment-area", for: "SiFouComment", label: "评论", checked: true }, { type: "checked", domId: "", for: "SiFouRead", label: "继续阅读", checked: false, getEvent: 'similarRead' } ] }, { title: "顶部导航", children: [ { type: "checked", domId: "", for: "SiFoutop", label: "顶部导航信息", checked: false, getEvent: 'removeSifouTopbar' }, ] }, { title: "操作", children: [ { type: "button", class: "buttoncolor1", label: "初始化当前页面配置", getEvent: 'clearCache("BLOGUICONFIG", "9")' } ] } ] }, 10: { webType: "ZhiHu", pc: [ // { // title: "查看模式", // children: [ // { type: "radio", for: "ZhiHuC", label: "居中显示", checked: true, getEvent: 'ZhiHuRadioC' }, // { type: "radio", for: "ZhiHuP", label: "铺平展示", checked: false, getEvent: 'ZhiHuRadioP' }, // ] // }, { title: "右侧", children: [ { type: "checked", domId: ".css-oyqdpg", for: "ZhihuSimilarQuestions", label: "相关问题", checked: false }, { type: "checked", domId: "div[data-za-detail-view-path-module_name='相关推荐']", for: "ZhihuRecommend", label: "相关推荐", checked: false }, { type: "checked", domId: "Footer", for: "ZhihuQFooter", label: "版权其他", checked: false } ] } ] }, 11: { webType: "ZhiHu", pc: [ { title: "查看模式", children: [ { type: "radio", for: "ZhiHuC", label: "居中显示", checked: true, getEvent: 'ZhiHuRadioC' }, { type: "radio", for: "ZhiHuP", label: "铺平展示", checked: false, getEvent: 'ZhiHuRadioP' }, ] }, { title: "底部", children: [ { type: "checked", domId: "div[aria-label='推荐阅读']", for: "ZhihuRead", label: "推荐阅读", checked: false } ] } ] }, 12: { webType: "ZhiHu", pc: [ { title: "右侧", children: [ { type: "checked", domId: "div[aria-label='搜索发现']", for: "ZhihuSearch", label: "搜索发现", checked: false }, { type: "checked", domId: "Footer", for: "ZhihuSQFooter", label: "版权其他", checked: false } ] } ] }, } let asideWidth = '0px' // ---------- 通用方法 ------------ // 通过当前地址获取现在是那个网站 function initUrl() { let url = window.location.href let urlResList = [ { platform: 'CSDN', reg: /.*blog.csdn.net.*\/details\/.*/, title: 'CSDN详情优化', key: 2 }, { platform: 'CSDN', reg: /.*blog.csdn.net\/nav.*/, title: 'CSDN文章类型列表优化', key: 3 }, // { platform: 'CSDN', reg: /.*blog.csdn.net\.*/, title: 'CSDN文章类型推荐优化', key: 3.1 }, { platform: 'CSDN', reg: /.*so.csdn.net\/.*/, title: 'CSDN搜索页面', key: 4 }, { platform: 'Juejin', reg: /juejin.cn\/post\/.*/, title: '掘金文章详情', key: 5 }, { platform: 'Juejin', reg: /juejin.cn\/search\?.*/, title: '掘金搜索页面', key: 7 }, { platform: 'Juejin', reg: /juejin.cn/, title: '掘金首页', key: 6 }, { platform: 'SiFou', reg: /segmentfault.com\/q\/.*/, title: '思否问答详情', key: 8 }, { platform: 'SiFou', reg: /segmentfault.com\/a.*/, title: '思否文章详情', key: 9 }, { platform: 'ZhiHu', reg: /zhihu.com\/question\/.*/, title: '知乎问答', key: 10 }, { platform: 'ZhiHu', reg: /zhuanlan.zhihu.com\/p\/.*/, title: '知乎专栏', key: 11 }, { platform: 'ZhiHu', reg: /.*zhihu.com\/search\.*/, title: '知乎搜索', key: 12 }, ] for (let i = 0; i < urlResList.length; i++) { if (urlResList[i].reg.test(url)) { CURRENTPAGES = urlResList[i].key return urlResList[i] } } } // 外链跳转 function jumpLink() { let url = document.URL let target_url = '' let flag = false if (/https:\/\/link\.csdn\.net\/.*/.test(url)) { flag = true target_url = url.split("target=")[1] setTimeout(() => { let github = getElement('.loading-btn-github') flag = github && github.length !== 0 ? false : true getElement('.loading-topic span')[0].innerText = flag ? 'Blog-UI 正在跳转到: ' : '当前链接可以使用github加速请自行选择: ' if (flag) { target_url = decodeURIComponent(target_url) // 编码 setTimeout(() => { window.location.href = target_url; }, 500) } }, 500) } if (/https:\/\/link\.juejin\.cn\/.*/.test(url) || /https:\/\/link\.zhihu\.com\/.*/.test(url)) { target_url = url.split("target=")[1] // setTimeout(() => { getElement('.content .title')[0].innerText = 'Blog-UI 正在跳转到: ' }) initDialog('body', "Blog-UI 正在跳转") target_url = decodeURIComponent(target_url) // 编码 setTimeout(() => { window.location.href = target_url; }, 500) } } function addEvent(className, eventType, callback) { let dom = getElement(className)[0] dom.addEventListener(eventType, callback) } // 设置缓存更改 配置文件 function generalCetch() { let parentConfig = BLOGUICONFIG[CURRENTPAGES][ISH5 ? 'h5' : 'pc'] if (parentConfig.length !== 0) { // 设置缓存中的内容 并更新 源配置文件 parentConfig.forEach((item) => { item.children.forEach((childrenItem, index, arr) => { // 如果没有for 就证明不需要缓存 if (!childrenItem.for) { return } if (GM_listValues().includes(childrenItem.for)) { arr[index].checked = GM_getValue(childrenItem.for) } else { GM_setValue(childrenItem.for, childrenItem.checked) } }) }) addMain(parentConfig, BLOGUICONFIG[CURRENTPAGES].webType) // 生成虚拟节点 } } // 生成虚拟节点 function addMain(config, type) { let parentDom = getElement('.blog-ui-setting')[0] let parentVDom = render({ tag: 'div', prop: { class: "blog-ui-csdn" }, children: [ { tag: 'div', prop: { class: "blog-ui-csdn-main" }, } ] }) parentDom.appendChild(parentVDom) let itemDom = getElement('.blog-ui-csdn-main')[0] config.forEach((configItem, index) => { let vDom = render({ tag: 'div', prop: { class: "blog-ui-item" }, children: [ { tag: 'div', prop: { class: "blog-ui-config-title" }, children: configItem.title }, { tag: 'div', prop: { class: "blog-ui-config-center", parentIndex: index }, children: actionDom(configItem.children, type) } ] }) itemDom.appendChild(vDom) }) } // 操作区 function actionDom(configItem, type) { let actionDom = [] for (let i = 0; i < configItem.length; i++) { let checkObj = null if (configItem[i].type === 'checked') { checkObj = checkBox(configItem[i], type) } else if (configItem[i].type === 'button') { checkObj = buttonBox(configItem[i]) } else if (configItem[i].type === 'radio') { checkObj = radioBox(configItem[i]) } actionDom.push(checkObj) } return actionDom } // 生成多选框 function checkBox(item, type) { let checkObj = { tag: "input", prop: { "type": "checkbox", "id": item.for, "domId": item.domId, "index": item.index, "event": item.getEvent, "on": { change: (e) => { var target = e.target, targetTag = target.tagName; if (targetTag === "INPUT") { if (GM_listValues().includes(target.id)) { GM_setValue(target.id, target.checked) } var event = target.getAttribute('event') event != 'undefined' ? eval(`${event}(${target.checked}, '${target.attributes.domId.value}')`) : setDomEvent(target, type) } } } } } if (item.checked) { checkObj.prop.checked = true } let currentDom = { tag: 'div', prop: { "class": "setting-item" }, children: [ checkObj, { tag: "label", prop: { "class": "form-check-label", "for": item.for, "domId": item.domId }, children: item.label } ] } return currentDom } // 生成按钮 function buttonBox(item) { return { tag: "button", prop: { class: item.class, "on": { click: (e) => { var target = e.target, targetTag = target.tagName; if (targetTag == 'BUTTON') { eval(`${item['getEvent']}`) } } } }, children: item.label } } // 生成单选 function radioBox(item) { let radio = { tag: "input", prop: { 'type': item.type, 'name': 'radio', "id": item.for, "on": { change: (e) => { var target = e.target, targetTag = target.tagName; if (targetTag == 'INPUT') { eval(`${item['getEvent']}()`) } } } } } if (item.checked) { radio.prop.checked = true } let radioVdom = { tag: 'div', prop: { class: 'radio-item' }, children: [ radio, { tag: 'span', prop: { class: 'radio-label' }, children: item.label } ] } return radioVdom } // 初始化当前页面配置 function clearCache(plat, key) { let config = eval(`${plat}[${key}]`) config[ISH5 ? 'h5' : 'pc'].forEach(item => { item.children.forEach(detailItem => { if (detailItem.for && GM_listValues().includes(detailItem.for)) { GM_deleteValue(detailItem.for) } }) }) location.reload(); } // 添加主页面 function domHtml(urlObject) { let DomHtml = `