当前位置: 首页 > news >正文

做网站聚合做权重难吗网站建设dyfwzx

做网站聚合做权重难吗,网站建设dyfwzx,网架公司名字,我要推广网根据公司的规定#xff0c;每月八小时#xff0c;弹性工作制。所以大家平时来的不太准时#xff0c;如果有事#xff0c;下班也就早些回去了。所以一个月下来工作时间可能不够#xff0c;但是公司的考勤日历是这样的#xff1a; 除了请假和法定节假日外#xff0c;其他样…  根据公司的规定每月八小时弹性工作制。所以大家平时来的不太准时如果有事下班也就早些回去了。所以一个月下来工作时间可能不够但是公司的考勤日历是这样的 除了请假和法定节假日外其他样式显示都是一样的每次都要一个个估算这个月的大概工作时间十分不方便。后来看到公司有人在用一个Chrome扩展程序可以计算出一个月的工作时间但是我觉得还是没有看到我想看的东西因为除了每个月的累计工作时间外我还想看到平均每天工作时长、每一天的工作时长、20点以后的天数20点以后下班的可以报销晚饭的哈哈……、22点以后下班的天数报销打车费……所以我决定还是自己写一个吧。 第一步我先写了一个JS方法然后通过F12开发者工具的Console复制粘贴运行。 公司用的OA系统没有引用jQuery库所以我刚开始的想法是想动态引用jQuery类库如下 var script document.createElement(script); script.src http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js; document.body.appendChild(script); 但是遇到了问题一个是$被占用二是HR系统采用iframe嵌套并且还有frame嵌套结构很复杂。而console运行的代码是在最顶层运行的后期的chrome扩展插件是运行在内部frame中的可能这里的JS后面不能直接使用。虽然$被占用的问题可以通过jQuery.noConflict();来解决但是jquery库和原来系统的JS库存在调用顺序的问题而且在内部的frame中死活访问不到jQuery这个对象。最后我决定放弃使用jQuery该用原生JavaScript。 JS代码如下 /* * author:清明雨上 * date:2016-1-5 */ 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 colorredb stylefont-size:15px parseInt(thisMin / 60) /b. thisMin % 60 /font); no8h ; } else { workHourEveryday.push(b stylefont-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 stylefont-size:15px (parseInt(myHour / workDays) /b. (parseInt((myHour % workDays) * 60 / workDays) parseInt(otherMin / workDays))); //平均每天工作时长 var html div classalectest stylebackground: #cbebfb;padding:7px;\ div出勤时间b stylefont-size:15px;color:red myHour /b小时font colorred otherMin /font分钟平均font colorred avgHourOneDay /font小时/天/div\ div参考时间 workDays * 8 小时【 workDays 天】除去请假和节假日实际有打卡记录的天数/div\ div请假/外出天数 noworkDays 天/div\ div每天工作时间(格式小时.分钟) workHourEveryday.join() /div\ div未满8小时天数b stylefont-size:15px no8h /b天/div\ div20点以后下班天数b stylefont-size:15px over20 /b天/div\ div21点以后下班天数b stylefont-size:15px over21 /b天/div\ div22点以后下班天数b stylefont-size:15px over22 /b天/div\ div23点以后下班天数b stylefont-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(); View Code代码说明监听考勤查询按钮的click事件考勤信息加载完成后执行我的JS方法。 第二步开发Chrome扩展程序 参考资料http://open.chrome.360.cn/extension_dev/content_scripts.html 查询manifest.json的content_scripts节点的各个属性说明 manifest.json是必须的最终内容如下 { manifest_version:2, name: Extension Name, version: 0.1.0, description: 插件描述, icons: { 48: icon.png }, content_scripts: [ { all_frames : true, matches: [http://*], js: [haha.js], run_at: document_end } ] } View Code另外在同目录下放入一个icon.png图片至此所有文件都准备完毕目录如下 打开Chrome的扩展程序列表的开发者模式》大包扩展程序...在扩展程序根目录中输入上面三个文件所在的父目录。 点击【打包扩展程序】即可。 说明如果点击该按钮长时间未能反映可以能是你的chrome不允许第三方非认证的扩展程序解决方案是点击chrome快捷方式右键》属性》目标输入框后面追加“ enable-easy-off-store-extension-install”注意前面的空格。 然后再尝试以上步骤就行了。 第三步防止Chrome屏蔽非官方扩展程序 设置 Chrome会提示暂停非官方扩展程序每次启动就有提示很烦人。 查找资料http://www.itechzero.com/prevent-chrome-shielding-unofficial-extensions-tutorial.html 防止Chrome屏蔽非官方扩展程序教程 根据以上资料说明可以轻松解决这个问题。 至此该可扩展程序全部完成结果图如下 更多专业前端知识请上 【猿2048】www.mk2048.com
http://www.zqtcl.cn/news/107936/

相关文章:

  • 网站域名年费多少钱二手手表交易平台哪个好
  • 用易语言做抢购网站软件下载自己可以做企业网站吗
  • 公司网站续费帐怎么做互联网专业
  • 网站开发公司深圳外贸营销策略
  • 主要搜索引擎网站搜索结果比较wordpress novelist
  • 校园网站制度建设WordPress手机不显示
  • 胶州哪家公司做网站wordpress的html
  • 辽宁省建设厅网站江苏住房和城乡建设厅官方网站
  • 链接关系 网站层次结构南宁做网站找哪家公司
  • 定制网站开发哪家好崇明建设镇网站
  • 上海网站制作建设是什么wordpress管理页面
  • 酒店网站设计的目的和意义网络营销相关理论
  • 用google翻译做多语言网站企业官网建站网站
  • 南阳网站建设培训学校莞城短视频seo优化
  • 开发商城网站建设做网站租用那个服务器好
  • 2015做导航网站wordpress中文主
  • 中英文网站建设报价河南网站建设推广公司
  • 什么是建设网站提升seo排名平台
  • 广告设计模板网站模版网站是什么意思
  • 网站网站模板企业网站制作排名
  • 食品网站开发淘客手机版网站怎么做
  • 厦门市网站建设app开发水务 网站建设
  • jfinal网站开发装修公司加盟哪家最好
  • 成都个人网站制作石家庄设计网站公司
  • 阿里巴巴网站本土化建设烟台市两学一做网站
  • 潍坊品牌网站建设公司旅游类作业网站
  • 建设谷歌公司网站费用求职seo推荐
  • 企业网站建设规划ppt企业网站前端模板下载
  • 补习吧 一家专门做家教的网站百度云搜索引擎入口网盘搜索神器
  • 网站建设与制作企业嘉鱼网站建设哪家专业