Вопрос

Я искал в Интернете, чтобы узнать, как получить доступ к текущему DOM вкладок, чтобы извлечь информацию из страницы из background.html.До сих пор мне не везло, или, по крайней мере, ничего, что я мог заставить работать должным образом.

Сформулируем проблему просто.Я хотел бы получить исходный код iFrame на странице.Какие-либо предложения?

Это было полезно?

Решение

С одной стороны, вы можете рассматривать это как одиночный запрос к контент-скрипту, который получит домен, к которому вы хотите получить доступ.http://code.google.com/chrome/extensions/messaging.html#simple

По сути, ваш сценарий контента настраивает прослушиватель:

chrome.extension.onRequest.addListener(
  function(request, sender, sendResponse) {
    if (request.greeting == "hello")
      sendResponse({farewell: "goodbye"});
    else
      sendResponse({}); // snub them.
  });

И ваша фоновая страница отправляет один действующий запрос:

chrome.tabs.getSelected(null, function(tab) {
  chrome.tabs.sendRequest(tab.id, {greeting: "hello"}, function(response) {
    console.log(response.farewell);
  });
});

Когда вы отправляете свой ответ, вы отправляете его в виде данных JSON, вы можете получить все, что захотите (например, html, dom, текст и т. д.).

В настоящее время это единственный способ сообщить фоновой странице что-либо о содержимом страницы.Помните, что вам потребуются сценарии контента и разрешения для вкладок.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top