是否可以以编程方式检查 Chrome Sync 是否已在 Google Chrome 中配置?
我问的原因是我正在编写一个依赖于 Chrome Sync 的 Chrome 扩展程序,并且想检查/通知用户是否未配置。
在发布这个问题之前,我检查了明显的地方(Chrome 扩展 API、StackExchange 和 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.
}
});
祝你好运。
关于javascript - Google Chrome 同步检查是否通过 API/扩展启用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8887770/