
本文介绍一种轻量、无需修改源码的浏览器端方案:通过用户脚本(userscript)或开发者工具控制台,为网页中所有出现的“rq1”“rq2”“rq3”等关键词动态添加锚点链接,点击后平滑滚动至其在引言部分的原始定义位置。全程本地执行,不依赖网站作者支持。
本文介绍一种轻量、无需修改源码的浏览器端方案:通过用户脚本(userscript)或开发者工具控制台,为网页中所有出现的“rq1”“rq2”“rq3”等关键词动态添加锚点链接,点击后平滑滚动至其在引言部分的原始定义位置。全程本地执行,不依赖网站作者支持。
要实现“点击 rq1 即跳转至引言中 Rq1 定义处”这一功能,核心在于创建语义化锚点 + 动态注入可点击链接。由于目标网页(如 arXiv HTML 版本)未原生提供 ID 锚点,我们需分两步完成:
✅ 第一步:为引言中的 Rq1/Rq2/Rq3 定义处手动添加唯一 ID
打开网页后,按 F12 打开开发者工具 → 切换到 Elements 面板 → 定位到引言中 <strong>Rq1</strong> 所在的段落(例如包含“In our context, we define...”的 <p></p> 或 <div> 元素),右键 → <strong>Edit as HTML</strong>,为其外层容器添加 <code>id 属性:
<!-- 修改前 --> <p><strong>Rq1</strong>: How do LLM jailbreaks bypass safety constraints?</p> <!-- 修改后 --> <div id="anchor-rq1"> <p><strong>Rq1</strong>: How do LLM jailbreaks bypass safety constraints?</p> </div>
同理,为 Rq2 和 Rq3 分别添加 id="anchor-rq2" 和 id="anchor-rq3"。确保 ID 唯一、合法(仅含字母、数字、连字符、下划线,不以数字开头)。
✅ 第二步:运行脚本,全局替换文本为可点击链接
在开发者工具的 Console 标签页中粘贴并执行以下 JavaScript(支持正则匹配 + 安全 DOM 替换,避免破坏 HTML 结构):
// 定义锚点映射关系(关键词 → 目标ID)
const anchorMap = {
'rq1': 'anchor-rq1',
'rq2': 'anchor-rq2',
'rq3': 'anchor-rq3'
};
// 遍历所有文本节点(排除 script/style/textarea 等)
function replaceTextInNode(node) {
if (node.nodeType === Node.TEXT_NODE) {
const text = node.textContent;
// 匹配独立单词形式的 rq1/rq2/rq3(前后非字母数字)
const replaced = text.replace(/\b(rq[1-3])\b/gi, (match, rq) => {
const id = anchorMap[rq.toLowerCase()];
if (!id || !document.getElementById(id)) return match;
return `<a href="#%24%7Bid%7D" style="color:#1a0dab;text-decoration:underline;cursor:pointer;">${match}</a>`;
});
if (replaced !== text) {
const wrapper = document.createElement('span');
wrapper.innerHTML = replaced;
node.parentNode.replaceChild(wrapper, node);
}
} else if (node.nodeType === Node.ELEMENT_NODE) {
// 跳过不可编辑区域
if (['SCRIPT', 'STYLE', 'TEXTAREA', 'INPUT', 'SELECT'].includes(node.tagName)) return;
for (let child of node.childNodes) {
replaceTextInNode(child);
}
}
}
// 执行替换
replaceTextInNode(document.body);
// 可选:启用平滑滚动
document.documentElement.style.scrollBehavior = 'smooth';
✅ 效果验证:刷新后,页面中所有独立出现的 rq1(大小写不敏感)、RQ2、rq3 均变为蓝色可点击链接,点击后将平滑滚动至对应 <div id="anchor-xxx"> 位置。<h3>⚠️ 注意事项与进阶建议</h3>
<ul>
<li>
<strong>安全性</strong>:该脚本仅在当前标签页临时生效,关闭即失效,不收集数据、不联网、不修改服务器内容。 </li>
<li>
<strong>兼容性</strong>:适用于现代 Chromium/Firefox 浏览器;若网页使用 Shadow DOM,需额外遍历 <code>shadowRoot。
@include 匹配目标 URL(如 https://arxiv.org/html/2403.17336v1*)。 anchorMap 对象,即可支持 rq4、hypothesis-a 等任意自定义关键词。 此方法本质是“前端增强”,将静态文档转化为交互式阅读体验——无需作者配合,你就是自己网页的 UX 工程师。










