lobste.rs 出现 JavaScript 错误:这里提供一个缓解方案

Lobsters Hottest 工具

摘要

lobste.rs 网站存在一个影响登录用户的 JavaScript 错误;本文提供了使用 DevTools 覆盖或 TamperMonkey 脚本的缓解方法。

<strong>简介</strong> <p><a href="https://lobste.rs" rel="ugc">https://lobste.rs</a> – 在撰写本文时 – 登录用户在加载时遇到 JavaScript 错误:</p> <pre><code>Uncaught ReferenceError: qS is not defined at new _LobstersFunction (user-c27ac03d.js:144:34) at user-c27ac03d.js:665:17 </code></pre> <p>该错误导致网站大部分功能无法正常工作,一个简单的检查方法是尝试<a>预览</a>一条评论,如果无法预览,那么很可能是 JS 控制台出现了错误。</p> <p>如果你为 <code>qS</code> 和 <code>qSA</code> 提供缺失的定义,网站功能将完全恢复。</p> <p>已知可修复:</p> <ul> <li>故事/评论点赞</li> <li>评论预览</li> <li><code>$things_you_have_spammed_click_wondering_why_it_doesnt_work</code></li> </ul> <hr> <strong>使用 DevTools => Sources => Override 进行覆盖</strong> <p>对于有 Web 开发经验的人来说,只需用以下内容修补有问题的脚本即可轻松修复错误:</p> <pre><code> const qS = (a, b) => b === undefined ? document.querySelector(a) : a.querySelector(b); const qSA = (a,b) => b === undefined ? [...document.querySelectorAll(a)] : [...a.querySelectorAll(b)]; </code></pre> <p>如果在问题行(此处为第 665 行)之前运行上述代码,一切正常,功能即可恢复。</p> <hr> <strong>使用 TamperMonkey 等扩展程序</strong> <p>一个更简单的替代方案是使用 <a href="https://www.tampermonkey.net/" rel="ugc">TamperMonkey</a> 自动运行该站点的自定义 JavaScript,以下是我使用的脚本:</p> <pre><code>// ==UserScript== // @name lobste.rs undefined qS/qSA fix // @namespace http://tampermonkey.net/ // @version 2026-07-27 // @description try to take over the world! // @author You // @match https://lobste.rs/* // @icon https://www.google.com/s2/favicons?sz=64&amp;domain=lobste.rs // @grant none // ==/UserScript== (function() { 'use strict'; window.qS = (a, b) => b === undefined ? document.querySelector(a) : a.querySelector(b); window.qSA = (a,b) => b === undefined ? [...document.querySelectorAll(a)] : [...a.querySelectorAll(b)]; })(); </code></pre> <hr> <strong>传输结束</strong> <p>我个人在发现后使用了覆盖方法,但我相信不止我一个人希望在等待 lobste.rs 重新部署期间继续使用我们心爱的功能。</p> <pre><code>(\_/)_00_(\_/) ^- 我使用缓解方案疯狂预览自己的评论 </code></pre> <p>祝浏览愉快!</p>
查看原文
查看缓存全文

缓存时间: 2026/07/27 11:44

# lobste.rs 出现 JavaScript 错误:一个临时解决方法 来源:https://lobste.rs/s/llf3mg/lobste_rs_has_js_error_here_is_mitigation **介绍** 就在我撰写本文时,https://lobste.rs/ 在已登录用户加载页面时出现了一个 JavaScript 错误: ``` Uncaught ReferenceError: qS is not defined at new _LobstersFunction (user-c27ac03d.js:144:34) at user-c27ac03d.js:665:17 ``` 该错误导致网站大部分功能失效。一个简单的检查方法是尝试 `[预览]` 一条评论——如果预览无法工作,那么你的 JavaScript 控制台很可能出现了这个错误。 如果你提供了 `qS` 和 `qSA` 的缺失定义,网站功能即可完全恢复。 已知可修复的问题: - 故事 / 评论的点赞 - 评论预览 - `$那些你疯狂点击却毫无反应的功能` --- **使用开发者工具 => 源代码 => 覆盖(Override)进行修复** 对于有 Web 开发经验的用户,只需用以下代码修补有问题的脚本即可自行修复错误: ``` const qS = (a, b) => b === undefined ? document.querySelector(a) : a.querySelector(b); const qSA = (a,b) => b === undefined ? [...document.querySelectorAll(a)] : [...a.querySelectorAll(b)]; ``` 如果上述代码在有问题的行(本例中为第 665 行)之前运行,一切都会恢复正常。 --- **使用 TamperMonkey 等扩展程序** 更简单的方法是使用 TamperMonkey (https://www.tampermonkey.net/) 自动为该网站运行自定义 JavaScript。以下是我使用的脚本: ``` // ==UserScript== // @name lobste.rs 修复未定义的 qS/qSA // @namespace http://tampermonkey.net/ // @version 2026-07-27 // @description 尝试接管世界! // @author 你 // @match https://lobste.rs/* // @icon https://www.google.com/s2/favicons?sz=64&domain=lobste.rs // @grant none // ==/UserScript== (function() { 'use strict'; window.qS = (a, b) => b === undefined ? document.querySelector(a) : a.querySelector(b); window.qSA = (a,b) => b === undefined ? [...document.querySelectorAll(a)] : [...a.querySelectorAll(b)]; })(); ``` --- **传输结束** 我个人在发现问题后使用了覆盖(Override)的方法,但我相信不止我一个人想在等待 lobste.rs 重新部署期间继续使用我们心爱的功能。 ``` (\_/)_00_(\_/) ^- 我通过这个临时解决方法疯狂预览自己的评论 ``` 祝浏览愉快!

相似文章

lobste.rs 现已运行在 SQLite 上

Lobsters Hottest

Lobste.rs 已将其数据库从 MariaDB 迁移到 SQLite,从而降低了 CPU 和内存使用率,减少了成本,并提升了网站性能。本文详细介绍了迁移过程和背景。

作为陷阱的<noscript>元素

Lobsters Hottest

本文讨论了<noscript>HTML元素的局限性:它仅在JavaScript完全禁用时提供后备内容,而不会在JavaScript因其他原因失败时提供。文章建议改用DOM API动态更新内容。

Lobste.rs 关于 Spinel 的讨论

Lobsters Hottest

一篇博客文章认为,Rails 的约定对于 AI 代理和编译器而言是理想之选,并引用提前编译的 Ruby 编译器 Spinel 作为例子,指出该编译器可能消除应用在扩展后需要重写的需求。

事故复盘:TanStack npm 供应链入侵事件

Lobsters Hottest

本文详细复盘了针对 TanStack npm 包的供应链攻击事件,涉及缓存投毒、OIDC 令牌提取及凭证窃取恶意软件。所有受影响版本均已弃用;建议用户轮换凭证。