Sub*_*tty 5 javascript google-chrome google-chrome-extension
我正在构建一个chrome扩展,它要求你在使用它之前登录chrome,发布你可以保存一些值(我将它存储在Sync存储中),并且每当我从某些人登录chrome时,它都会被同步其他机器使用相同的登录信息.
我测试了扩展,并且信息正在我保存的机器上成功存储.但是相同的信息不会同步到另一台机器.为了说清楚,我还在其他机器的chrome中安装了扩展程序.
我在后台js中使用了以下代码来进行同步 -
chrome.storage.onChanged.addListener(function(changes, areaname) {
if(areaname=="sync")
{alert('Storage Changed' + changes);}}
Run Code Online (Sandbox Code Playgroud)
这样我就会收到一条警告,表明该事件已被解雇.
我没有在另一台机器上得到这个警报; 表明同步没有发生.
我查找了 同步设置,它显示同步刚刚发生.但没有警报.
是这样,我们可以在扩展的开发过程中测试同步吗?
我已经通过了Does-chrome-app-id-for-extensions-affect-sync-storage
App Id是否必须对它做任何事情?
更新 - 我找到了答案.让我详细说明我是如何做到的.-
此页面developer.chrome.com/extensions/packaging解释了如何手动打包和扩展.请在继续之前完成.
第1步 - 我删除了我在两台机器上安装的扩展程序.(我之前使用Load unpacked扩展选项安装了它)
第2步 - 我按照上面的链接,使用.crx和.pem文件制作了一个手动包文件
第3步 - 当我使用相同的gmail帐户登录这两台计算机时,我通过将文件拖放到浏览器中来共享并安装此.crx文件.(它要求确认并继续安装)
步骤4 - 在两台机器上执行Step-3之后,我现在在两个浏览器中都安装了扩展程序.
第5步 - 我在一个浏览器中使用我的扩展程序保存了值,瞧,过了一会儿,它出现在另一台机器上.
第6步 - 但重要的是,数据自动同步,没有我想要显示的警报 -
if(areaname=="sync") {alert('Storage Changed' + changes);}}
Run Code Online (Sandbox Code Playgroud)
所以我认为这个监听器代码在我的情况下并不重要.希望这有助于寻找解决方案的其他人.
| 归档时间: |
|
| 查看次数: |
428 次 |
| 最近记录: |