You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Firefox 60客户端手动垫片globalThis与fromEntries?

解决Firefox 60中globalThis和fromEntries兼容问题的方案

方法一:使用用户脚本(Tampermonkey/Greasemonkey)

用户脚本可在页面加载前注入垫片代码,直接基于es-shims的思路实现兼容:

  • 安装Firefox 60兼容的Tampermonkey版本(比如4.14版)
  • 创建新脚本,通过@match指定需要适配的网站(或用@match *://*/*实现全局生效)
  • 注入以下垫片代码:
// 垫片globalThis
if (typeof globalThis === 'undefined') {
  Object.defineProperty(window, 'globalThis', {
    value: window,
    writable: true,
    configurable: true
  });
}

// 垫片Object.fromEntries
if (!Object.fromEntries) {
  Object.fromEntries = function(entries) {
    return entries.reduce(function(obj, [key, value]) {
      obj[key] = value;
      return obj;
    }, {});
  };
}
  • 保存脚本后刷新目标网站即可生效

方法二:自定义浏览器扩展

若不愿使用用户脚本,可自行打包简单扩展实现全局垫片:

  • 创建文件夹,新建manifest.json文件:
{
  "manifest_version": 2,
  "name": "ES6+ Shims for FF60",
  "version": "1.0",
  "content_scripts": [
    {
      "matches": ["*://*/*"],
      "js": ["shims.js"],
      "run_at": "document_start"
    }
  ]
}
  • 新建shims.js文件,内容与上述用户脚本的垫片代码一致
  • 在Firefox 60的附加组件页面,选择“从文件安装附加组件”,加载该文件夹打包的zip文件(或直接加载临时扩展)

注意事项

  • 全局垫片可能与部分网站代码冲突,建议先针对有问题的网站单独适配,不要直接全局启用
  • 上述为简化版垫片,若需更完整的es-shims兼容,可参考es-shims仓库的官方实现代码,复制对应逻辑到脚本或扩展中

内容的提问来源于stack exchange,提问作者Civ01

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 13:27:34