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

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


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

最佳答案

尽管没有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员工]

关于javascript - 安装后如何只运行一次扩展代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26633806/

10-09 15:21