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

浏览器控制台用Tesseract.js遇加载错误,能否编译为单块代码?

解决Tesseract.js控制台跨域加载Worker的问题

可以将Tesseract.js打包为单块代码,彻底规避外部资源引用,解决你遇到的跨域错误。具体方案如下:

1. 使用官方预构建单文件版本

Tesseract.js提供了预打包的单文件版本,整合了主库、Worker脚本和英文语言模型,无需加载任何外部资源。

控制台操作:

  • 先执行以下代码引入单文件:
const script = document.createElement('script');
script.src = 'https://cdn.jsdelivr.net/npm/tesseract.js@5.0.5/dist/tesseract.umd.min.js';
document.body.appendChild(script);
  • 脚本加载完成后,直接调用识别方法(无需创建Worker),以Canvas为例:
(async () => {
  // 替换为目标Canvas元素
  const canvas = document.querySelector('canvas');
  const result = await Tesseract.recognize(
    canvas,
    'eng',
    { logger: m => console.log(m) } // 可选,打印识别进度
  );
  console.log(result.data.text);
})();

2. 绕过CSP限制的方案

如果目标网站的内容安全策略(CSP)阻止引入外部脚本,可直接复制单文件版本的代码:

  1. 从Tesseract.js官方发布的5.0.5版本资源中提取单文件代码
  2. 将代码全部粘贴到控制台执行,再运行上述识别代码

问题根源

你之前的错误是因为createWorker会尝试加载外部Worker脚本,而非自有网站的控制台环境受跨域安全策略限制,无法加载该资源。单文件版本将Worker和语言模型内嵌到主脚本中,彻底避免了外部请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 18:02:43