Как мне получить расширение Chrome для загрузки iframe, содержащего локальную страницу

#iframe #google-chrome-extension

#iframe #google-chrome-extension

Вопрос:

Я пишу расширение Chrome, в котором стандартная всплывающая страница используется в качестве меню, и я добавляю iframe внизу страницы для отображения некоторого вывода. the display.html страница содержит выходные данные, которые я намереваюсь отобразить в iframe, добавленном к странице. Этот код внутри моего скрипта содержимого добавляет iframe, но ищет display.html страница на веб-сервере, а не в коде, упакованном с расширением. Есть ли какой-нибудь способ заставить его загрузить мой display.html страница, а не та, которая может быть, а может и не быть там, на какой бы странице ни использовалось расширение.

 ifrm = document.createElement("iframe");
ifrm.setAttribute("src", "display.html"); 
ifrm.style.width = "100%"; 
ifrm.style.height = "20%"; 
document.body.appendChild(ifrm); 
  

Ответ №1:

Обновленный ответ

Согласно комментарию @Cnly, пожалуйста, используйте chrome.runtime.getURL, чтобы получить URL встроенного ресурса. (Исходный ответ чрезвычайно старый, предшествующий даже manifest v2).

Оригинальный ответ

Я думаю, вам может понадобиться chrome.extension.getURL, чтобы получить URL встроенного ресурса.

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

1. И, когда manifest v2 активен, добавьте имя файла в web_accessible_resources раздел файла манифеста.

2. Не рекомендуется с Chrome 58. Пожалуйста, используйте runtime.getURL .