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/"
    ]
}
  • 需要跨域请求网站数据,所以permissions 需要配置地址。
  • 需要后台运行,所以需要增加background的运行js文件。scripts是数组,自然也可以运行多个。

先来理解下逻辑:没啥理解的,就是做一个定时器,定时去请求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);

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

假装有效果图

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

相关文章
|
2月前
|
Web App开发 JavaScript 前端开发
使用vue快速开发一个带弹窗的Chrome插件
使用vue快速开发一个带弹窗的Chrome插件
124 0
使用vue快速开发一个带弹窗的Chrome插件
|
24天前
|
存储 Web App开发 JSON
【Chrome插件】如何在Chrome插件开发中处理复杂数据结构的存储?
在Chrome插件开发中,遇到问题:存储包含Map和数组的复杂数据结构到`chrome.storage.local`时,读取为空。原因在于`chrome.storage.local`只支持JSON序列化,而Map无法直接序列化。解决方案是使用`serializeMap`和`deserializeMap`方法将Map转换为数组进行存储和读取。更新的`saveMindData`和`getMindData`方法实现了数据的正确序列化和反序列化。
46 5
|
7天前
|
Web App开发 Java API
Chrome插件开发(三)
Chrome插件开发(三)
|
28天前
|
Web App开发 JavaScript
使用CRXjs、Vite、Vue 开发 Chrome 多页面插件,手动配置 vite.config.ts 和 manifest.json 文件
使用CRXjs、Vite、Vue 开发 Chrome 多页面插件,手动配置 vite.config.ts 和 manifest.json 文件
28 0
|
2月前
|
Web App开发 前端开发 JavaScript
Chrome 插件如何开发?
Chrome 插件如何开发?
|
2月前
|
Web App开发 搜索推荐
Chrome 扩展 AdBlock hide something on this page 功能介绍
Chrome 扩展 AdBlock hide something on this page 功能介绍
|
2月前
|
Web App开发 前端开发 JavaScript
Chrome 扩展 AdBlock 的 hide something on this page 背后的工作原理
Chrome 扩展 AdBlock 的 hide something on this page 背后的工作原理
|
2月前
|
Web App开发 存储 JSON
Chrome插件开发(一)—manifest.json文件介绍
Chrome插件开发(一)—manifest.json文件介绍
43 0
|
2月前
|
Web App开发 存储 JavaScript
走进Chrome拓展开发,定制自己的图床扩展
走进Chrome拓展开发,定制自己的图床扩展
|
2月前
|
Web App开发
在 HTML 中禁用 Chrome 浏览器的 Google 翻译功能
在 html 标签中添加 translate=“no” 属性,浏览器将不会翻译整个页面。
113 0