D
D
dollar2018-10-02 03:14:03
JavaScript
dollar, 2018-10-02 03:14:03

How to update information if it has been updated on another page?

How to immediately update the information in popup.js as soon as new data arrives in background.js?

popup.js - popup on extension button
var background_JS = chrome.extension.getBackgroundPage(); //прямая ссылка
function onLoad() {
   content.innerHTML = background_JS.data_html; //показываем данные
}
background.js - background page
var data_html = "some data";
function onEvent(new_data) { //срабатывает при определённых условиях
   data_html = new_data;
}

Ситуация такая - попап открыт, и в это время фоновая страница получает новую информацию. Естественно, её нужно моментально обновить в попапе. Но как?
Приходит мысль, что можно проверять по таймеру. Но что-то подсказывает, что так не делают.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
X
xmoonlight, 2018-10-02
@dollar

При открытии popup'а создаёте дискриптор на это окно.
После прихода информации в родительскую страницу, по этому дискриптеру обращаетесь к любому элементу popup-окна и меняете информацию стандартным способом: через методы модификации содержимого DOM-элементов.

Александр Таратин, 2018-10-02
@Taraflex

Broadcast Channel API

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question