如何在开发期间测试chrome扩展的同步功能

时间:2015-04-19 06:31:03

标签: javascript google-chrome google-chrome-extension

我正在构建一个Chrome扩展程序,要求您在使用之前登录Chrome,发布后可以保存一些值(我将其存储在同步存储中)并且预期相同每当我使用相同的登录信息从其他计算机登录Chrome时获得同步。

我测试了扩展,并且信息正在我保存的机器上成功存储。但是相同的信息不会同步到另一台机器。为了说清楚,我还在其他机器的chrome中安装了扩展程序。

我在后台js中使用了以下代码进行同步 -

chrome.storage.onChanged.addListener(function(changes, areaname) {
          if(areaname=="sync")
          {alert('Storage Changed' + changes);}}

以便我收到一条警告,表明该事件已被解雇。

我没有在另一台机器上收到此警报;表明同步没有发生。

我查了Sync settings,它显示同步刚刚发生。但没有警觉。

是这样,我们可以在扩展的开发过程中测试同步吗?

我经历过Does-chrome-app-id-for-extensions-affect-sync-storage

App Id是否必须对它做任何事情?

更新 - 我找到了答案。让我详细说明我是如何做到的。 -

此页面developer.chrome.com/extensions/packaging说明了如何手动打包和扩展。请在继续之前完成。

第1步 - 我删除了我在两台计算机上安装的扩展程序。(我之前使用Load unpacked extension选项安装了它)

第2步 - 我按照上面的链接编写了一个包含.crx和.pem文件的手动包文件

第3步 - 当我使用相同的Gmail帐户登录这两台计算机时,我通过将文件拖放到以下来共享并安装此.crx文件浏览器。 (它要求确认并继续安装)

第4步 - 在两台计算机上执行了第3步之后,我现在在两个浏览器中都安装了扩展程序。

第5步 - 我在一个浏览器中使用我的扩展程序保存了值,瞧,过了一会儿,它出现在另一台机器上。

第6步 - 但重要的是,数据自动同步,没有我想要显示的提醒 -

if(areaname=="sync") {alert('Storage Changed' + changes);}} 

所以我认为这个监听器代码在我的情况下并不重要。希望这有助于其他人寻找解决方案。

0 个答案:

没有答案