Получить document.body веб-страницы из всплывающего окна при использовании расширения Chrome - PullRequest
0 голосов
/ 09 июня 2019

У меня есть базовое расширение Chrome, которое требует доступа к document.body веб-странице через всплывающее окно.

В настоящее время, когда я пытаюсь открыть журнал всплывающих окон и консоли document.body, он регистрирует всплывающее окно document.body, пока я хочу, чтобы document.body.

веб-сайта.

Как мне это сделать?

manifest.json

{
  "description": "Demo ext",
  "manifest_version": 2,
  "name": "Demo ext",
  "version": "1.0",
  "icons": {
    "48": "icons/icon-48.png"
  },
  "permissions": ["activeTab"],
  "browser_action": {
    "default_icon": "icons/icon-32.png",
    "theme_icons": [
      {
        "light": "icons/icon-32-light.png",
        "dark": "icons/icon-32.png",
        "size": 32
      }
    ],
    "default_title": "Demo ext",
    "default_popup": "popup/index.html"
  }
}

Всплывающее / index.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>Demo ext</title>
  </head>
  <body>
    <h1>Title should be the websites which we are on ?</h1>
    <script src="./app.js"></script>
  </body>
</html>

всплывающее окно / app.js

function main() {
  console.log(document.body)
  var title = document.createElement('div')
  title.innerHTML = document.title
  document.body.appendChild(title)
}

main()

Я хочу, чтобы document.body, зарегистрированный здесь, принадлежал веб-сайту. Как мне это сделать?

Ответы [ 2 ]

1 голос
/ 09 июня 2019

Я предлагаю вам ознакомиться с этими Сценариями содержимого расширения Chrome

Если вашему расширению необходимо взаимодействовать с веб-страницами, ему необходим скрипт содержимого.Сценарий содержимого - это некоторый JavaScript, который выполняется в контексте страницы, загруженной в браузер.Сценарий содержимого следует рассматривать как часть этой загруженной страницы, а не как часть расширения, с которым он был упакован (его родительское расширение).

Сценарии содержимого могут обращаться к API Chrome, используемым их родительским расширением, путем обменасообщения с расширением.Они также могут обращаться к URL-адресу файла расширения с помощью chrome.runtime.getURL () и использовать результат так же, как и другие URL-адреса.

0 голосов
/ 13 июня 2019

Действительно, скрипты с контентом были подходящим вариантом.Я попробовал, но у меня ничего не вышло, но этот ответ все решил.

Просто связал, потому что все объясняет лучше, чем я могу:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...