在 Tampermonkey(油猴)或 Violentmonkey 中打开原脚本的编辑器,将内容完整替换为 dmm 换算人民币-1.1.user.js,保存后刷新页面。若导入为新脚本,请停用旧的 0.9 / 1.0 版,避免同时运行。
原版使用 html().replace(/[^0-9]/ig, ''),会把 HTML 属性、原价、折后价、销量等数字拼接起来。直接替换 innerHTML 还会删除子元素和样式。它依赖 jQuery、旧站 #mu 容器,而且提供的原文件没有匹配 video.dmm.co.jp。
div.font-bold.text-red-900 中的金额 <span>。新增商品详情链接上下文校验,避免仅凭红色粗体判断价格。[data-e2eid="content-price"] 容器,分别转换其中的划线原价和折后价。例如 980円、400円 分别换算,保留各自样式和外部的 〜。label 下、使用 .font-bold.text-right 的容器中,原价与折后价分别为两个 <p>。规则只在详情页生效,并要求附近有 [data-e2eid="purchase-button"],不使用全页面红色文字匹配。円 位于 span.text-red-900.items-baseline 内两个独立的 <span>,需要跨两个元素识别。仅对购买面板中明确的“数字 + 日元单位”结构进行换算;保留两个元素及字号,数字显示人民币金额,单位改为“元”。优惠券名称中的“500円OFF”、积分和期限保持原文。円 分开,甚至插入注释。修正版组合相邻文本节点识别完整金额,保留原节点与注释;不会跨 <span> 拼接价格。300円以下、50% OFF、日期、销量和活动名称;销量节点继续保留。body 下的节点、文本和价格标记更新,移除 jQuery 和 #mu 依赖。保存原始日元,防止重复换算,并支持 React 复用节点与汇率刷新。改用已验证返回正常 JSON 的 JPY 汇率接口,读取 rates.CNY,按“日元金额 × 每日元对应人民币”计算。来源为 ExchangeRate-API,页面角落显示其要求的来源链接。
缓存有效期为 24 小时,使用完整时间戳,修复原版只保存每月几号的问题。请求有 12 秒超时,校验 HTTP 状态、基准币种、响应结果与汇率值。失败时使用最多 7 天的缓存并标注;没有可用缓存时保留日元,失败后 1 小时内避免重复请求。旧版 fx 缓存方向不同,不会被误用。
金额显示为 xx.xx元;悬停可查看日元原价、汇率和日期。实际支付金额以网站和支付渠道为准。
2026-10-06 对指定两个真实页面进行了 DOM 只读核对:当时加载的首页匹配 368 个金额;活动列表匹配 120 个价格容器中的 240 个金额(原价与折后价),两个页面的 300円以下 筛选链接均未进入匹配。
继续核对指定详情页 juq00806:购买区有 4 个选项、8 个原价与折后价金额,另有 1 个跨两个 <span> 的优惠券后金额;这些结构均纳入 1.1 的规则。
JavaScript 语法检查通过,58 项解析/缓存/接口/计算断言及 52 项隔离浏览器 DOM 验证通过,包含拆分金额、原价样式、节点身份、事件保留、文本更新、节点重建和请求失败。新增验证还覆盖切换购买选项、优惠金额刷新、不同字号保留、非日元单位与非购买面板排除。真实页面执行后的效果仍需在安装修正版后确认;本次没有操作浏览器内已安装的油猴脚本。
原 D:\Download\dmm 换算人民币-0.9.js 保留,修改版在此输出目录。修正版移除了原脚本指向上游的更新地址;升级此修改版时请手动替换。