先给有条件的结论:如果一批外部脚本仍在页面里加载,但没人能说清它做什么,正确做法不是立刻删,而是先把它隔离成“待核对”状态,按脚本能触达的对象逐项列出权限清单,再决定保留、替换还是退出。这个结论只在你能拿到脚本加载位置和大致来源时成立;如果脚本已经无法定位来源、也没有任何接入记录,清单本身就失去核对对象,此时应优先按未知代码处理,而不是继续猜测用途。
用途不明的脚本,往往不是完全没人知道,而是知道的人已经离开、合作关系已经结束,或者旧系统里的说明早已失效。此时追问“它干什么”很难得到答案,但脚本能做什么是可观察的:它出现在哪个页面、是否随页面加载、是否写入或读取浏览器存储、是否向外部地址发送请求。这些行为对应的权限,比模糊的用途描述更适合作为核对起点。
把权限当作清单主轴,还有一个现实好处:同一段脚本可能同时承担统计、客服挂件和页面增强,用途描述容易互相覆盖,而权限可以逐条确认。你要整理的不是一份“它是什么”的说明,而是一份“它现在还能碰到什么”的清单。
建议按脚本能触达的对象分四类,每类都写清“当前状态”和“核对人”,不要只写结论。
每一条都标注证据来源,例如页面源码、网络请求记录、旧合同附件或经手人回忆。证据来源不同,可信度不同,后续动作也不同。
一个明确的反例:脚本通过其他脚本动态注入,页面源码里找不到它的加载标签,网络请求也已被混淆或合并。此时你列出的“页面与内容”权限可能看起来干净,但实际执行者藏在另一段脚本里,清单会给出错误的安心感。
判断是否落入这种情况,可以做一个动作:在隔离环境中加载旧页面,记录所有外部请求,再与页面源码中的脚本地址逐一对照。对不上的请求,单独列为“来源未确认”,不要并入已有条目。这个动作的结果会直接改变下一步——如果对不上的请求很少且可解释,可以按普通退出流程处理;如果数量多或指向不明服务,应先扩大核对范围,而不是按原计划删除。
核对完成后,每个条目只有三种去向,判断依据是“是否仍有独立价值”和“退出成本是否可控”。
假设一个旧页面仍加载某段脚本,核对后发现它只做访问统计,但账号仍能写入内容。此时保留统计价值、收回写入权限,比整体删除更符合“保留仍有价值部分”的目标。这个例子只说明比较方法,不代表任何具体服务的现状。
先做一次小范围隔离验证:选一个旧页面,移除待核对脚本的引用,观察页面功能、数据记录和外部请求的变化。如果页面正常、请求减少且没有新的报错,说明该脚本对当前页面已无关键作用,可以进入退出流程;如果出现功能缺失或数据断档,则把缺失项补回清单,重新判断是替换还是保留。
这个动作的价值在于把“用途不明”转成“影响可测”。请求量下降或某项统计归零,本身不能单独证明处理正确,也可能只是脚本被拦截、页面未被访问或统计口径变化。因此结果要结合页面功能和请求记录一起看,再决定是否扩大处理范围。