首页 > 解决方案 > Firefox 插件内容安全策略,blob:moz-extension importScripts 失败

问题描述

我有以下代码:

async function OCRScan(image) {
    const { createWorker } = Tesseract;
    const worker = createWorker({
      workerPath: chrome.runtime.getURL('js/lib/tesseract/worker.min.js'),
      langPath: chrome.runtime.getURL('js/lib/tesseract/traineddata'),
      corePath: chrome.runtime.getURL('js/lib/tesseract/tesseract-core.wasm.js'),
    });
    await worker.load();
    await worker.loadLanguage('eng');
    await worker.initialize('eng');
    const { data: { text } } = await worker.recognize(image);
    await worker.terminate();
    return text;
  }

我的清单下有以下内容:

"web_accessible_resources": [
    "css/*.css",
    "js/*.js",
    "js/google-docs/*.js",
    "images/*.png",
    "images/*.gif",
    "images/*.svg",
    "js/i18n/*.json",
    "js/lib/tesseract/*.js",
    "js/lib/tesseract/*.map",
    "js/lib/tesseract/traineddata/*.gz",
    "css/*.less"
  ],

调用代码时,我从 firefox 收到此错误:

Content Security Policy: The page’s settings blocked the loading of a resource at blob:moz-extension://1d3e2cff-e21c-4770-8d7e-93329fa7ab94/238aefee-e907-4a4d-b501-440b70e3d042 (“script-src”).

按照链接我得到这个:

importScripts("moz-extension://1d3e2cff-e21c-4770-8d7e-93329fa7ab94/js/lib/tesseract/worker.min.js");

我的清单上没有任何内容安全策略。

如何修复此错误?

标签: firefox-addon

解决方案


推荐阅读