最近总是有一些每天需要做的任务遗忘,由于每天电脑开机浏览器就会打开,所以想着做一个插件,在特定的时间提醒自己做某一件事。

主文件:manifest.json

代码:

{// 这个字段将用在安装对话框,扩展管理界面,和store里面,弹出通知的标题"name": "桌面助手",// 扩展的版本用一个到4个数字来表示,中间用点隔开,必须在0到65535之间,非零数字不能0开头"version": "1",// 描述扩种的一段字符串(不能是html或者其他格式,不能超过132个字符)。这个描述必须对浏览器扩展的管理界面和Chrome Web Store都合适。"description": "桌面提醒插件",// 一个或者多个图标来表示扩展,app,和皮肤"icons": {"16":"images/32.png","128": "images/128.png"  // 在webstore安装的时候使用},// 扩展或app将使用的一组权限"permissions": ["tabs", "notifications"],// Manifest V2 用background属性取代了background_page// 这里指定了一个Javascript脚本"background": { "scripts": ["background.js"] },// Manifest version 1在Chrome18中已经被弃用了,这里应该指定为2"manifest_version": 2}

具体执行任务的js:background.js

代码:

/*
created 2017-11-22 by 1540077031v2.0.3 | (c) 2017
*/
//配置通用参数
/*
根据语义可知含义
*/
var date=getDate();
var json={"moringhour":9,"moringminute":10,"moringsecond":10,"middayhour":11, "middayminute":59,"middaysecond":10,"afternoonhour":17,"afternoonminute":35,"afternoonsecond":10};//温馨提醒
function showRemind(){
//alert(Boolean(window.Notification)); //判断浏览器是否支持通知
//欢迎通知参数
var options={type:"image",dir: "ltr",  //控制方向,据说目前浏览器还不支持lang: "utf-8",icon: "images/18.png",image:"images/oneremind.jpg",body: "电脑使用一小时了,请休息一下吧",               sound:""};
//创建通知对象
var n = new Notification("桌面小助手", options);
//显示通知
n.onshow = function () { setTimeout(n.close.bind(n), 8000);
}
n.show();
}
function showWelcome(){
//alert(Boolean(window.Notification)); //判断浏览器是否支持通知
//欢迎通知参数
var options={type:"image",dir: "ltr",  //控制方向,据说目前浏览器还不支持lang: "utf-8",icon: "images/18.png",image:"images/timg1.jpg",body: "你好,欢迎使用桌面小助手",             sound:"9284.wav"};
//创建通知对象
var n = new Notification("桌面小助手", options);
//显示通知
n.onshow = function () { setTimeout(n.close.bind(n), 8000);
}
n.show();
}
//早上通知参数
function showMorning(){var image1=["images/m1.jpg","images/m2.jpg","images/m3.jpg","images/m4.jpg"];
var index1 = Math.floor((Math.random()*image1.length));
var options={dir: "ltr",  //控制方向,据说目前浏览器还不支持lang: "utf-8",icon: "images/18.png",image:image1[index1],body: "早上好,希望以最好的状态度过这一天,加油!!"};
//创建通知对象
var n = new Notification("桌面小助手", options);
//定时关闭通知
n.onshow = function () { setTimeout(n.close.bind(n), 8000);
}
//显示通知
n.show();}
//中午通知参数
function showMidday(){
var image2=["images/d1.jpg","images/d2.jpg","images/d3.jpg","images/d4.jpg","images/d5.jpg","images/d6.jpg","images/d7.jpg","images/d8.jpg","images/d9.jpg","images/d10.jpg","images/d11.jpg","images/d12.jpg","images/d13.jpg","images/d14.jpg","images/d15.jpg"];
var index2 = Math.floor((Math.random()*image2.length));
var options={dir: "ltr",  //控制方向,据说目前浏览器还不支持lang: "utf-8",icon: "images/18.png",image:image2[index2],body: "中午了 考虑一下吃什么去呢?",sound:""};
//创建通知对象
var n = new Notification("桌面小助手", options);
//定时关闭通知
n.onshow = function () { setTimeout(n.close.bind(n), 8000);
}
//显示通知
n.show();
}
//通知配置通知参数
function showNotification(){
var options={dir: "ltr",  //控制方向,据说目前浏览器还不支持lang: "utf-8",icon: "images/18.png",image:"images/remind.jpg",body: "快出来写日报啦"+date,sound:"9284.wav"};
//创建通知对象
var n = new Notification("桌面小助手", options); //定时关闭通知
n.onshow = function () { setTimeout(n.close.bind(n), 8000);
}
//显示通知
n.show();
n.onclick = function() {window.open('http://XXXX.XXX.XXX:9999/in/', '_blank');
}
}
//浏览器是否支持 webkitNotifications
if(("Notification" in window)){
timing();
//isFirst();//每次打开浏览器通知
}
//定时任务
function timing(){
var go=setInterval(run,1000);
}
//具体执行方法
function run(){
var date=new Date();
//json字符串转对象
var obj=eval(json);
if(date.getHours()==obj.afternoonhour&& date.getMinutes()==obj.afternoonminute && date.getSeconds()==obj.afternoonsecond){
//clearInterval(go); //终止定时任务
showNotification(); //下午通知显示
}else if(date.getHours()==obj.moringhour&& date.getMinutes()==obj.moringminute && date.getSeconds()==obj.moringsecond){
showMorning(); //早上通知显示
}else if(date.getHours()==obj.middayhour&& date.getMinutes()==obj.middayminute && date.getSeconds()==obj.middaysecond){
showMidday();  //中午通知显示
}else{modifyflag();
}
}
//判断是否第一次安装
function isFirst(){var f=true;        //第一次安装则显示cookies实现if(getCookie("flag")=='' && getCookie("flag")!=true){showWelcome();//欢迎通知显示document.cookie="flag="+f;}
}
//获取cookies
function getCookie(c_name)
{
if (document.cookie.length>0){c_start=document.cookie.indexOf(c_name + "=")if (c_start!=-1){ c_start=c_start + c_name.length+1 c_end=document.cookie.indexOf(";",c_start)if (c_end==-1) c_end=document.cookie.lengthreturn unescape(document.cookie.substring(c_start,c_end))} }
return ""
}
//获取当前时间格式化
function getDate(){var date = new Date();var year = date.getFullYear();var month = date.getMonth() + 1;var strDate = date.getDate();var hour=date.getHours();var minute=date.getMinutes();var second=date.getSeconds();if (month >= 1 && month <= 9) {month = "0" + month;}if (strDate >= 0 && strDate <= 9) {trDate = "0" + strDate;}if(hour>=0 && hour <=9){      hour="0"+hour;}if(minute>=0 && minute <=9){minute="0"+minute;}if(second>=0 && second <=9){second="0"+second;}var currentdate = year +"年"+  month+"月" + strDate+"日" + hour +"时"+ minute +"分"+ second+"秒";return currentdate;
}

还有一些图片都放在一个文件夹images中

其他的操作就是打包测试了。当然每个人的想法都不一样,我只提供自己的想法,具体的实现大家可以按照自己的需要做。

项目仓库地址:https://github.com/liberliushahe/remind

桌面提醒助手谷歌浏览器插件相关推荐

  1. 一场由股票提醒助手插件引发的血案——浅入浅出 jquery autocomplete

    我没有学过前端,所以这篇文章注定要班门弄斧了. 通常,需要用到什么技术什么语言时,我才去学,学了也不一定掌握,就是记不住!所以现在明白了,学习的时候,亦或是攻克难点的时候,一定要记录下来,并不一定非要 ...

  2. 谷歌chrome浏览器桌面提醒 webkitNotifications

    原创: //点击时开启提醒 $(".message_alert").toggle(function(){ $(".message_alert_tip").htm ...

  3. 多款功能强大的chrome谷歌浏览器插件推荐

    chrome谷歌浏览器插件推荐 Enable Copy 遇到限制复制粘贴和右键的网页是不是很头痛?安装这个插件后,点下插件按钮就能解决了- JSONView 可以将后端返回的json格式化,让结构更清 ...

  4. html5 桌面提醒参数,[HTML5]Notification桌面提醒功能

    桌面提醒的介绍 桌面通知功能能够让浏览器即使是最小化状态也能够将消息通知给用户.这和WebIM是最为天然的结合.弹出来的内容只能是文本,暂不支持HTML. Notification桌面提醒功能的好处 ...

  5. 30个极致实用的谷歌浏览器插件,让你开发事半功倍

    浏览器是开发人员最强大的工具.99% 的人不会 100% 地利用他们的浏览器.这里有 30 个浏览器扩展,如果你能合理充分利用将大大提升你的开发效率. 1. WhatFont "WhatFo ...

  6. 谷歌浏览器插件之 -- Quick QR

    什么是Quick QR 首先引用一段官网上面的介绍: "Chrome上好评率最高的二维码生成器:可以方便地把当前页面转化成二维码,也可以把网页上任何文本或链接,甚至是您输入的任意内容都转化成 ...

  7. Web的桌面提醒(Popup)

    大多数Windows程序都有桌面提醒(Popup)功能,如Msn Messenger,Outlook2003,FoxMail,SharpReader等,对用户来说可以非常的方便最新的信息. 在Web中 ...

  8. HTML5开发 桌面提醒功能

    桌面提醒的介绍 桌面通知功能能够让浏览器即使是最小化状态也能将消息通知给用户.这和WebIM是最为天然的结合.不过,目前支持Desktop Notification功能的浏览器只有Chrome5+. ...

  9. 谷歌浏览器不能上网_谷歌浏览器插件下载及安装教程!

    emmm......这篇文章的内容非常小白,相信大部分人都会这个基本操作. 但是阁主相信还有些妹子操作不来,如果还没有男朋友,那不是铁定不会安装谷歌浏览器插件么? 其实"谷歌浏览器+插件&q ...

  10. HTML5 API详解(14):Notification 实现桌面提醒

    桌面提醒功能可以在窗口隐藏甚至是浏览器最小化(不被激活)的情况下,依然可以对用户进行信息通信,采用的方式就是在电脑桌面的右下角弹出消息提示框.这样的一个功能可以使用在一些消息推送的场景下.不过,虽然h ...

最新文章

  1. python自学视频-师傅带徒弟学Python:第一篇Python基础视频课程
  2. Part1_2 python注释,标准输出,if(else)语句,while语句
  3. 用map实现数据字典功能
  4. delphi query 存储为dbf_在Delphi程序中维护DBF数据库
  5. 【Nginx】Nginx配置文件参数/启动参数详解;启动/停止/重新加载配置命令
  6. Jmeter(二十五)Jmeter之系统函数
  7. 调用第三方接口的几种请求方式
  8. 利用Future异步获取多线程的返回结果
  9. iview 按需引入解决加载慢的问题
  10. 【滤波器】基于matlab平方根升余弦滤波器【含Matlab源码 994期】
  11. android学习笔记之系统签名
  12. cpu多开测试软件,教你用多核CPU多开畅玩大型3D游戏
  13. python绘图技巧(高清图)
  14. c语言匀加速直线运动求位移,匀加速直线运动规律.doc
  15. matlab圆锥曲线,Matlab软件在高中数学圆锥曲线学习过程中应用.doc
  16. Windows7驱动调试小Tips
  17. git撤销commit
  18. JAVA删除pdf空白页_【Spire.PDF教程】添加或删除 PDF 页面,调整页面顺序-word删除空白页...
  19. 全新2022强大的趣味心理测试小程序源码,趣味测试引流裂变神器,流量主激励广告实现管道收益
  20. 联想拯救者屏幕亮度无法调节,监视器和显卡驱动问题,经过多种测试

热门文章

  1. ftp服务器默认使用tcp协议的几号端口,ftp服务器默认的tcp端口号
  2. 网络子系统32_网桥设备的开启与关闭
  3. 吐纳六字气法的形成与发展
  4. wpa_supplicant交叉编译
  5. 《我的青春谁做主》经典搞笑台词
  6. 开源的文件服务器有哪些,开源文件服务器
  7. 教务系统mysql注入的原理_SQL注入原理及具体步骤
  8. PMP第三节:项目管理过程
  9. 耗时两周,纯手敲python入门级基础笔记
  10. c++入门 简单语句 空语句 作用域和块 复合语句