Сделать фоновую страницу видимой в расширении Google Chrome - PullRequest
4 голосов
/ 12 марта 2012

У меня есть background-page в моем расширении Google Chrome, и эта страница, естественно, невидима. Есть ли способ сделать эту скрытую страницу видимой, например, во всплывающем окне при нажатии на значок действия браузера? Затем снова спрячьте его еще одним кликом.

Ответы [ 3 ]

6 голосов
/ 12 марта 2012

Фоновая страница может отображаться с использованием метода chrome.tabs.create, для которого требуется разрешение tabs .Например, если фоновая страница называется background.html, можно использовать следующий код:

chrome.tabs.create({url: chrome.extension.getURL('background.html')});

См. Также:

0 голосов
/ 02 апреля 2017

На всплывающей странице вашего расширения добавьте фрагмент JS, который использует chrome.runtime.getBackgroundPage (callback) .Присвойте элементу <html> фоновой страницы id и используйте window.getElementById("myBackgroundPageHTMLElementId")

Например, ваш обратный вызов может выглядеть следующим образом:

document.getElementById("myPopupHTMLElementId").outerHTML = backgroundWindow.getElementById("myBackgroundPageHTMLElementId").outerHTML

После завершения этого сценария JSэлемент HTML вашей всплывающей страницы будет ПОЛНОСТЬЮ заменен фоновой страницей (пока вы не перезагрузите ее)!Это означает, что все атрибуты, даже в элементе HTML, настроены на версию фоновой страницы.

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

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

Вы можете открыть backround_page во всплывающем окне browserAction . Это будет новый экземпляр background_page. Один как всплывающее окно, пока оно открыто, а долгоживущий невидимый на заднем плане.

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