Почему я получаю chrome-extension://invalid/ error при попытке загрузить локальный шрифт

Я запускаю расширение Chrome, которое запускается на instagram.com. Я хотел загрузить локальный шрифт, но когда открываю расширение, я получаю эту ошибку, когда шрифт загружается.

      GET chrome-extension://invalid/ net::ERR_FAILED

На вкладке сети при загрузке шрифта у меня есть net::ERR_FAILED с деталями:

      General
  Request URL: chrome-extension://invalid/
  Referrer Policy: strict-origin-when-cross-origin
Request Headers
  Provisional headers are shown Learn more
  DNT: 1
  Origin: https://www.instagram.com
  Referer

Я следую этому решению, чтобы загрузить локальный шрифт /questions/42517501/kak-ispolzovat-fontawesome-v-chrome-extension/42517508#42517508

вот мой код

manifest.json

      {
  ...
  "content_scripts": [
    {
      "matches": ["*://*.instagram.com/*"],
      "js": ["content_script.js"],
      "run_at": "document_start",
      "web_accessible_resources": [ "assets/ClashGrotesk-Variable.ttf" ]
    }
  ],
  "web_accessible_resources": [
    "assets/inject.js",
    "assets/ClashGrotesk-Variable.ttf",
  ],
  ...
}

app.tsx

я использую styled-components

      const GlobalStyle = createGlobalStyle`
  @font-face {
    font-family: 'ClashGrotesk-Variable';
    src: url('chrome-extension://__MSG_@@extension_id__/assets/ClashGrotesk-Variable.ttf');
    font-weight: 200 700;
    font-display: swap;
    font-style: normal;
  }

  html body {
    font-family: 'ClashGrotesk-Variable';
  }
  `

Мой код кажется правильным?

1 ответ

Мы можем использовать chrome.runtime.getURL API, чтобы получить URL-адрес нашего ресурса, а затем мы можем предоставить этот URL-адрес в src font-face.

      const url = chrome.runtime.getURL('assets/ClashGrotesk-Variable.ttf')

const GlobalStyle = createGlobalStyle`
  @font-face {
    font-family: 'ClashGrotesk-Variable';
    src: url(${url});
    font-weight: 200 700;
    font-display: swap;
    font-style: normal;
  }

  html body {
    font-family: 'ClashGrotesk-Variable';
  }
`

использованная литература

Другие вопросы по тегам