Вызов функции при всплывающем окне из фона. (Расширение Google Chrome) - PullRequest
0 голосов
/ 04 марта 2012

Я работаю в расширении Google Chrome.У меня в popup.js есть функция, которая заполняет таблицу update_table .Я хочу вызвать эту функцию из моего background.js, который отправляет важные данные.Проблема в том, что update_table на background.js не определен, и если я копирую код в этот файл, не обновляю таблицу на popup.html.

popup.js

function update_table(content, morecontent){
  if (!document.getElementsByTagName) return;
      tabBody=document.getElementsByTagName("tbody").item(0);
      row=document.createElement("tr");
      cell1 = document.createElement("td");
      cell2 = document.createElement("td");
      textnode1=document.createTextNode(content);
      textnode2=document.createTextNode(morecontent);
      <!-- ... -->
}

popup.html

<!doctype html>
<html>
<head>
<title>Popup Page</title>
<script src="./popup.js" type="text/javascript"></script>
</head>
<body>
   <table border='1' id='mytable'>
      <tbody>
        <tr><td>22</td><td>333</td></tr>
        <tr><td>22</td><td>333</td></tr>
      </tbody>
   </table>
</body>
</html>

background.js

chrome.webRequest.onCompleted.addListener(
    function(request) {
        update_table(request.type, request.url);
    },
    {urls: ["*://*/*"]},
    ["responseHeaders"]
);

background.html

<!doctype html>
<html>
<head>
   <title>Background Page</title>
   <script src="./background.js" type="text/javascript"></script>
</head>
<body>
</body>
</html>

1 Ответ

0 голосов
/ 04 марта 2012

Читать этот пост , я просто отвечу на это для другого человека.

Лучше всего смотреть на chrome.extension. * API . Завтра я опубликую пример на GitHub, который я вам покажу.

Надеюсь, это поможет.

UPDATE

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

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