返回

文章详情

MacSurf 1.68 – 在 OS 9 上发布的 NetSurf

Hacker News2026年7月7日 16:24

MacSurf 1.68 — "macQJS" 是一个为经典 Mac OS(PowerPC,Mac OS 9.1–9.2.2)开发的原生网页浏览器,具有真实的 HTTPS 功能和现代 JavaScript 引擎 — 无需代理,无需伴机。经过验证的设备:Power Macintosh G3 iMac 和 G4,Mac OS 9.2.2。1.68 这个版本号是为了纪念 68kmla.org — 这个支持这个周期大多数工作的社区和网站。帮助维持 MacSurf 的运营:MacSurf 是一个全职项目。将现代的,仅支持 HTTPS 的网页带回真正的 Mac OS 9 硬件 — 原生 TLS 1.3,真正的 JavaScript 引擎,将整个 NetSurf 渲染管线为 PowerPC 交叉编译 — 这是一项庞大的工作,并且只有项目能自给自足时才能继续这个步伐。如果 MacSurf 使你的旧 Mac 重新上网,请考虑捐助。每一份支持都确实能提供帮助,支持者可以获取开发日志,并对下一步的开发方向发表意见:Patreon: https://www.patreon.com/cw/MacSurf Ko-Fi: https://ko-fi.com/macsurf 。没有压力 — 但如果我不问,我就无法继续做这个,所以我要问。谢谢每一个已经支持过我的人。对于 68kmla.org — 谢谢!这个版本被命名为 1.68 以纪念 68kmla.org,这个 68k/PowerPC Mac 社区一直是这个周期工作的核心。1.68 的大量改进都得益于 68kmla 的存在:它是我每天进行测试的网站,它是出现最困难的真实世界渲染、登录和 JavaScript 问题的地方,也是下面许多修复如此全面的原因。更重要的是,68kmla 社区对一个新出现的、粗糙的项目表现出真正的友好和欢迎 — 对于错误耐心善待,慷慨反馈,并在每一步都给予鼓励。这种热情的接待是 MacSurf 能够不断向前发展的一个重要原因。所以:谢谢你们,68kmla。让你们的论坛在真实的 Mac OS 9 机器上渲染、登录,并让你回复帖子是一个非常有意义的目标。头条新闻:MacSurf 现在运行一个真正的 JavaScript 引擎 — macQJS。自 1.5 以来最大变化是引擎底层:MacSurf 的 JavaScript 引擎已被替换。Duktape (ES5) 被淘汰;MacSurf 现在运行 macQJS — 一个为经典 Mac OS 移植的 QuickJS — 允许在运行 Mac OS 9 的 PowerPC 上原生执行现代 ES2023 JavaScript。为什么这很重要:现代 JS 直接运行。旧引擎仅支持 ES5,因此 MacSurf 过去携带了一个内部的 ES6→ES5 转译器,以便在运行之前预先处理现代程序包。这个转译器已被淘汰 — 其 async/await 的重写悄悄地损坏了压缩的程序包。macQJS 直接运行 let / const,箭头函数,类,模板字面量,Promises,生成器,现代正则表达式等。真实网站的真实脚本。网页不再需要将其 JavaScript 降低到可运行的程度;实际网站的程序包在设备上执行。受到限制。每个堆的内存限制和执行截止日期防止了失控或敌意脚本挂起或导致内存不足(OOM)的问题。macQJS 作为一个独立项目进行开发,以便其他经典 Mac OS 软件也可以使用。这是一个多月的迁移(修复482–554),加上一个长期硬件验证的崩溃稳定性周期(修复565–577),使新的引擎在真实硬件上变得稳定。这个周期修复的关键问题:这些是“这怎么能发布”的基础,现在已经扎实:你可以看到并放置文本光标。输入字段和文本区域现在可以绘制一个真实的闪烁插入符号,让你知道你的输入将落在哪里。你可以在字段中选择文本。单击并拖动选择有效;剪切/复制/粘贴路径到聚焦字段(剪贴板连接到 Mac 剪贴板管理器)。登录保持有效。现在登录某个网站会让你保持登录状态 — 浏览器在登录后向你提供一个过期的缓存页面。修复完成。箭头键的行为正常。它们在字段中移动插入符号并滚动页面 — 不再推移整个视口。Tab 键在表单字段之间移动。可以用键盘填写登录或搜索表单。浏览器几乎瞬间打开。每次启动时运行的诊断自检正在执行一个繁重的 JavaScript 基准测试,每次启动前大约有 17 秒的冻结。这个问题已被修复;现在启动时间控制在一秒之内。cookie 同意/粘性条是可以点击的。粘性覆盖上的“接受”按钮(68kmla 的 cookie 横幅)现在点击的位置与你的预期一致,而不是掉到后面的页面。第二个窗口不再关闭第一个。窗口生命周期已修复。最大化(缩放框)正常工作,并且“关于 MacSurf”可以打开。1.68 中的所有新特性,按领域排序:JavaScript 引擎(macQJS)替换了 Duktape(ES5)并用 macQJS/QuickJS(ES2023)替换,已链接到构建中并由 WITH_QUICKJS 进行控制。淘汰了内部的 ES6→ES5 转译器和旧的手动构建的 JS API 接口(以前弥补了引擎之间的差距并损坏了一些程序包)。每个导航都提供新的 JS 领域,以便页面的顶层 let / const / class 声明不会在下次加载时与前一页面发生冲突。内存限制+ ~20 秒的执行截止时间防范失控的脚本。网站兼容性(68kmla / XenForo)回复/发布编辑器正常运行。引擎切换是关键。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡