Внедрить локальный HTML-файл на веб-страницу через расширение Chrome, используя iframe?

#javascript #html #css #iframe #google-chrome-extension

#javascript #HTML #css #iframe #google-chrome-extension

Вопрос:

У меня есть HTML-файл, который я хочу внедрить рядом с каждым результатом страницы результатов поиска Google из расширения Chrome.

Мне было интересно, могу ли я использовать iframe для загрузки HTML-файла?

Это вместо моей текущей реализации, которая использует insertAdjacentHTML() в моем скрипте содержимого ужасно длинную строку HTML и встроенный CSS. Я бы предпочел иметь отдельный HTML-файл с собственным CSS, который я мог бы просто вставить вместо этого.

Я пытался:

 chosenElements[i].insertAdjacentHTML('afterbegin', `<iframe src="/inject.html"></iframe>`);
  

но просто получите iframe со страницей 404, потому что он ищет в ‘https://www.google.com/index.html ‘ каталог, а не место, где находится файл.

The inject.html файл находится в том же месте, что и index.html файл в моей папке сборки для расширения. Как мне получить к нему доступ? Могу ли я получить к нему доступ?

Комментарии:

1. Объявите его в web_accessible_resources и используйте chrome.runtime.getURL, как показано в документации.

2. Это сработало, спасибо!

Ответ №1:

Вы пробовали с

 src="inject.html"
  

вместо

src="/inject.html"

Комментарии:

1. У меня есть да, получаю то же сообщение об ошибке консоли: ‘GET google.com/inject.html 404′