У Google есть страница для просмотра статуса вашей синхронизированной учетной записи; URL этой страницы: https://www.google.com/settings/chrome/sync
. Что-то, что вы можете сделать, чтобы увидеть, синхронизирована ли учетная запись, - это открыть страницу состояния, используя междоменные соединения, которые Google разрешает для расширений (если он даже не возвращает статус 200-OK, не синхронизируется), а затем вы используете небольшой JavaScript для извлечь дату «последней синхронизации» с этой страницы; после этого просто сохраните его с помощью chrome.storage.sync
API, а затем через несколько секунд снова проверьте дату «Последней синхронизации», если она изменилась, то вы можете быть на 99% уверены в синхронизации (или если вы хотите охватить случай медленной синхронизации просто используйте setInterval
, чтобы подождать)
Вы можете использовать следующий JavaScript для извлечения даты:
NodeList.prototype.forEach = Array.prototype.forEach;
var date = null;
document.querySelectorAll("*").forEach(function(ele){
var matches = ele.innerText.match(/\b\d{4}\s\d{2}:\d{2}:\d{2}\b.*/);
if (matches) date = matches[0];
});
При первом сохранении этого значения
chrome.storage.sync.set({date: date});
И во второй раз вы должны сравнить оба значения, добавив что-то вроде этого:
chrome.storage.sync.get("date", function (old) {
if (date !== old) {
// Is sync!
} else {
// not sync.
}
});
Удачи.