javascript - Google Chrome 同步检查是否通过 API/扩展启用?

标签 javascript api google-chrome google-chrome-extension synchronization

是否可以以编程方式检查 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/

相关文章:

javascript - 复制 API key 是否意味着身份被盗?

javascript - 如何在 Chrome 浏览器中触发 deviceready 事件(尝试调试 phonegap 项目)

php - 使用 html 和 JavaScript 的表单创建测验

javascript - 添加音频播放器,启用和禁用选项卡

java - 如何在Retrofit 2.0+中正确设置注释和查询?

javascript - 使用 Node.js 创建定期 Outlook 日历事件

Java Selenium 路径

javascript - jssor slider 图像在 chrome 浏览器中无法正确显示

javascript - SVG 矩形宽度不一致

javascript - 输入类型隐藏从 javascript 中的 foreach 传递相同的值