微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Manifest v3 从外部 API 获取数据

如何解决Manifest v3 从外部 API 获取数据

我正在开发与 Manifest v3 反应的浏览器(Chrome、Firefox)扩展。 在我的应用程序中,我有一个搜索栏,根据用户输入的值显示建议的单词(就像搜索引擎一样)。 在 manifest v2 中,我曾经像这样加载这个脚本:

  "content_security_policy": "script-src 'self' https://suggest.finditNowonline.com; object-src 'self'" 

在 v3 中,这不再受支持,但我找不到如何仍然使我的代码工作的方法。 我在网上找到的最相关的资源是这个答案:Content Security Policy in Manifest V3 for Facebook Page Plugin

和此文档:https://www.chromium.org/Home/chromium-security/extension-content-script-fetches

但我无法理解如何从 background.js 页面实现我的脚本,因为每次用户在输入字段中输入内容时,它都需要动态获取 API。

这是反应代码:我在那里获取 api

 useEffect(() => {
    const fetchSuggestedWords = async () => {
      try {
        const res = await fetchJsonp(`${process.env.SUGGESTED_WORDS_URL}${searchValue}`)
        const suggestedWordsArray = await res.json()
        setSuggestedWords(suggestedWordsArray[1].slice(0,10))
        return
      } catch {
        console.log('error fetching suggested results')
      }
    }

    if (searchSuggestedWords) {
      fetchSuggestedWords()
    }
  },[searchValue])

其中 searchValue 是在输入字段上触发 onChange 事件时的状态更新。

有关如何处理这种新格式的任何提示? 人们会建议现在不要切换到 Manifest v3 吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。