如何在安装时仅运行一次扩展代码

时间:2014-10-29 15:03:47

标签: javascript background cross-browser install crossrider

当我的扩展程序第一次运行时,我想在我的服务器上注册安装。但是,我只希望在安装后第一次运行扩展时进行注册。我怎样才能在后台范围内实现这一目标?目前,我的代码如下所示:

appAPI.ready(function($) {
    appAPI.request.get({
        url: 'http://myserver.com?action=install&id='+appAPI.appInfo.id,
        onSuccess: function(res) {
            console.log('Registration complete');
        }
    });
});

上面代码的问题是每次我通过浏览器打开时都会发生注册。请帮忙!

1 个答案:

答案 0 :(得分:1)

虽然没有 onInstall 类型的事件,但您可以通过将安装状态保留在本地数据库中来实现相同的结果,如下所示:

appAPI.ready(function($) {
    if (!appAPI.db.get('FirstRunDone')) {
        appAPI.request.get({
            url: 'http://myserver.com?action=install&id='+appAPI.appInfo.id,
            onSuccess: function(res) {
                appAPI.db.set('FirstRunDone', true);
                console.log('Registration complete');
            }
        });
    }
});

[披露:我是Crossrider员工]