chrome系列-扩展程序开发学习-后台运行

chrome系列-扩展程序开发学习-后台运行

月光魔力鸭

2018-09-09 07:27 阅读 288 喜欢 0 chrome系列 后台运行

在程序中,会有需要后台一直运行的场景。这一节我们来做一个监控某网站的运行状态,如果没有运行,则改变当前的图标。

由于这个扩展程序没有页面展示,只是后台运行,所以我们的manifest.json 是这个样子的:

{
    "manifest_version":2,
    "version":"1.0",
    "name":"监测BYYUI运行状态",
    "icons":{
        "16":"img/icon16.png"
    },
    "browser_action":{
        "default_icon":{
            "16":"img/icon16.png"
        },
        "default_title":"监测BYYUI运行状态"
    },
    "background":{
        "scripts":[
            "demo.js"
        ]
    },
    "permissions":[
        "http://www.byyui.com/"
    ]
}

先来理解下逻辑:没啥理解的,就是做一个定时器,定时去请求http://www.byyui.com/的页面,如果有返回值且状态正确,则是正常运行,否则就是离线。

上代码:

function request(url,cb){
    var xhr = new XMLHttpRequest();
    xhr.open('GET',url);
    xhr.onreadystatechange = function(){
        if(xhr.readyState === 4 && xhr.status === 200){
            cb(true)
        }else{
            cb(false);
        }
    }
    xhr.onerror = function(){
        cb(false);
    }
    xhr.send();
}

setInterval(function(){
    request('http://www.byyui.com',function(flag){
        chrome.browserAction.setIcon({path : flag ? 'img/icon16.png' : 'img/icon-close16.png'});
    });
},5000);

好了,就这些,让我们来看下效果图。

假装有效果图

更多奇思妙想,等待你的发掘!

转载请注明出处: https://chrunlee.cn/article/chrome-learn-4.html


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
整理一些相关的信息,防止后续再找不到。
前几天同事抱怨说微博太费劲了... 一万多条记录,可能会把他累死,我心想.. 重复工作不都可以用程序代替么..
之前做了一段时间的上传相关的断点续传和秒传功能,这里整理下大体思路
最开始其实只是网站的一个小改版,导致的需要发送邮件的功能,本身功能不复杂,不做工具的话,几行代码应该就可以搞定的.. 不过后来想想,这个功能应该还是有一定的小需求的,就做成了工具。
扩展程序中会有需要请求外部接口获取数据的时候,如果直接在JS中写的话,会跨域,但是谷歌扩展程序支持这种情况,只需要配置一下即可。
昨天客户发现了个小BUG,文章发布使用的ueditor, 上传视频的时候当时好好的,后来怎么就是播放不了?
本篇文章以一个实际的小项目为主题进行从头到尾的讲解实现,该项目总计开发时长约6小时,主要是有很多页面或功能都是现成的,直接复制过来的,剩下的就调整下样式、字段内容等。
需求:可能会有在页面加载的时候想执行某个js,例如统计页面的DOM等等。