时间:2016-02-17 22:53 来源: 我爱IT技术网 作者:佚名
欢迎您访问我爱IT技术网,今天小编为你分享的javascript教程:【谷歌Chrome浏览器扩展程序开发小记】,下面是详细的讲解!
谷歌Chrome浏览器扩展程序开发小记
var mydate=function() {
//time2-time1
function getTimeDiff(time1, time2) {
var st1=time1.split(':');
var st2=time2.split(':');
return ((st2[0] | 0) * 60 + (st2[1] | 0)) - ((st1[0] | 0) * 60 + (st1[1] | 0) * 1);
}
var timeList=[];
var mymain=window.parent.frames['Main'].document.getElementById('ctl00_cphMain_CalendarAC');
var listAC=mymain.getElementsByClassName('listAC');
for (var i=0; i < listAC.length; i++) {
var item=listAC[i];
var t={};
t.timeSpan=item.getElementsByTagName('td')[1].innerText;
t.remark=item.getElementsByTagName('td')[2].innerText;
timeList.push(t);
};
var totalMin=0;
var noworkDays=0; //请假天数
var workDays=0; //实际上班天数
var workHourEveryday=[];
var no8h=0; //未满8小时天数
var over20=0; //20点以后下班天数
var over21=0; //21点以后下班天数
var over22=0; //22点以后下班天数
var over23=0; //23点以后下班天数
for (var i=0; i < timeList.length; i++) {
var time=timeList[i];
if (time.remark !='无') {
noworkDays++;
continue;
}
if (time.timeSpan=='无刷卡记录')
continue;
var splitTime=time.timeSpan.split('~');
if (splitTime.length==2) {
//正常上下班
var begin=splitTime[0];
var end=splitTime[1];
var thisMin=getTimeDiff(begin, end);
totalMin +=thisMin;
workDays++;
if (thisMin / 60 < 8) {
workHourEveryday.push('<font color="red"><b style="font-size:15px">' + parseInt(thisMin / 60) + '</b>.' + thisMin % 60 + '</font>');
no8h++;
} else {
workHourEveryday.push('<b style="font-size:15px">' + parseInt(thisMin / 60) + '</b>.' + thisMin % 60);
var offworkHour=parseInt(end.split(':')[0]);
if (offworkHour >=20) {
over20++;
}
if (offworkHour >=21) {
over21++;
}
if (offworkHour >=22) {
over22++;
}
if (offworkHour >=23) {
over23++;
}
}
}
};
var myHour=parseInt(totalMin / 60); //本月工作累计小时数
var otherMin=totalMin % 60; //本月工作出小时部分外的分钟数
var avgHourOneDay=workDays==0 ? '0.0' : '<b style="font-size:15px">'+(parseInt(myHour / workDays) + '</b>.' + (parseInt((myHour % workDays) * 60 / workDays) + parseInt(otherMin / workDays))); //平均每天工作时长
var html='<div class="alectest" style="background: #cbebfb;padding:7px;">\
<div>出勤时间:<b style="font-size:15px;color:red">' + myHour + '</b>小时<font color="red">' + otherMin + '</font>分钟(平均<font color="red">' + avgHourOneDay + '</font>小时/天)</div>\
<div>参考时间:' + workDays * 8 + '小时【' + workDays + '天】(除去请假和节假日,实际有打卡记录的天数)</div>\
<div>请假/外出天数:' + noworkDays + '天</div>\
<div>每天工作时间(格式:小时.分钟):' + workHourEveryday.join(',') + '</div>\
<div>未满8小时天数:<b style="font-size:15px">' + no8h + '</b>天</div>\
<div>20点以后下班天数:<b style="font-size:15px">' + over20 + '</b>天</div>\
<div>21点以后下班天数:<b style="font-size:15px">' + over21 + '</b>天</div>\
<div>22点以后下班天数:<b style="font-size:15px">' + over22 + '</b>天</div>\
<div>23点以后下班天数:<b style="font-size:15px">' + over23 + '</b>天</div>\
</div>'
var alectest=mymain.parentNode.getElementsByClassName('alectest');
if (alectest.length > 0) {
// mymain.parentNode.removeChild(alectest[0]);
alectest[0].innerHTML=html;
} else {
var div=document.createElement("div");
div.innerHTML=html;
var fragement=document.createDocumentFragment();
while (div.childNodes[0]) {
fragement.appendChild(div.childNodes[0]);
}
mymain.parentNode.insertBefore(fragement, mymain);
}
bindBtnClick();
}
var bindBtnClick=function() {
window.parent.frames['Main'].document.getElementById('ctl00_cphTop_BtnQuery').addEventListener('click', function() {
var inter=setInterval(function() {
if (window.parent.frames['Main'].document.getElementById('ctl00_cphMain_CalendarAC') &&
window.parent.frames['Main'].document.getElementById('ctl00_UpMaster').style.display=='none') {
clearInterval(inter);
mydate();
}
}, 500);
}, false);
}
bindBtnClick();
关于谷歌Chrome浏览器扩展程序开发小记的用户互动如下:
相关问题:如何解决谷歌Chrome浏览器第三方扩展程序已停用
答:方法1 1、首先把需要安装的第三方插件,后缀.crx 改成 .rar,然后解压,得到一个文件夹 2、打开谷歌浏览器,在工具菜单中依次打开扩展程序, 3、选中开发者模式复选框,然后再点击加载正在开发的扩展程序按钮 4、选择刚才步骤1中解压好的文件夹... >>详细
相关问题:Chrome浏览器扩展程序装不上
答:安装步骤有误,请按如下步骤 打开Chrome 进入扩展商店 搜索并添加扩展即可 >>详细
相关问题:如何修改谷歌浏览器CHROME扩展程序栏宽度,让其不...
答:将鼠标放到>>符号的左侧,鼠标会变成↔符号,然后按住往左拖动即可 >>详细
- 【firefox】firefox浏览器不支持innerText的解决
- 【Extjs】Extjs学习过程中新手容易碰到的低级错误
- 【clearInterval】js clearInterval()方法的定义
- 【ComboBox】ComboBox 和 DateField 在IE下消失的
- 【ajax】用js来解决ajax读取页面乱码-页面乱码
- 【addEventListener】addEventListener和attachEv
- 【dom】javascript dom追加内容实现示例-追加内容
- 【has】基于jquery的has()方法以及与find()方法以
- 【browser】jQuery下通过$.browser来判断浏览器.-
- 【extjs】Extjs入门之动态加载树代码-动态加载树
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
