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

标签 javascript background cross-browser installation crossrider

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

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/

相关文章:

html - SVG 图像在 IE9 中未裁剪

javascript - 如何在 OpenLayers 3 中移动 lineString?

javascript - CloudKit.js 的安全性

jquery - 背景不拉伸(stretch)

python - 在后台运行 python 代码

css - Internet Explorer CSS 问题

javascript - 如何停止 div 加载 HTML 页面

javascript - 如何在没有 Jquery 的情况下链接 Javascript?

css - 背景没有填满窗口的高度

css - Microsoft Edge 后台附件 :fixed not working