一种基于html5的中国农历转换浏览器插件实现方法技术

技术编号:34807445 阅读:27 留言:0更新日期:2022-09-03 20:15
本发明专利技术涉及计算机技术领域,特别涉及一种基于html5的中国农历转换浏览器插件实现方法,包括使用javascript语言,监听html页面捕获全局鼠标移动事件并实时获取鼠标位置;获取鼠标位置对应的dom对象的描述标签;特征则提取新历年月日三元素,基于农历算法得出农历年月日格式、天干地支格式;标签窗口弹出显示农历年月日格式、天干地支格式。通过插件方式将网页上的新历日期转换为农历日期,并通过标签弹窗显示,对于经常有新历农历转换需求的人士带来极大便捷。带来极大便捷。带来极大便捷。

【技术实现步骤摘要】
一种基于html5的中国农历转换浏览器插件实现方法


[0001]本专利技术涉及计算机
,特别涉及一种基于html5的中国农历转换浏览器插件实现方法。

技术介绍

[0002]插件(Plug

in,又称addin、add

in、addon)是一种遵循一定规范的应用程序接口编写出来的程序。在网站中,常见通过插件来增加某种功能,达到功能增强或娱乐性质的使用。
[0003]中国农历属于阴阳合历,是根据月相的变化周期,每一次月相朔望变化为一个月,参考太阳回归年为一年的长度,并加入二十四节气与设置闰月以使平均历年与回归年相适应。
[0004]现有的互联网内容通常采用新历格式显示时间,对于传统文化研究学者等需要经常使用农历的人士在网页上查询资料时,对于日期的转换则每次都需要记录新历日期格式并对应在日历软件上逐个查询,较为不便,因此需要开发一种插件可将网页上的日期转换为农历显示以便于查询使用。

技术实现思路

[0005]为克服现有技术中的不足,本专利技术提供一种可将网页上新历日期通过弹窗显示农历日期的基于html5的中国农历转换浏览器插件实现方法。
[0006]为实现上述目的,本专利技术采用的技术方案如下:一种基于html5的中国农历转换浏览器插件实现方法,其特征在于:包括:
[0007]步骤1,使用javascript语言,监听html页面捕获全局鼠标移动事件并实时获取鼠标位置;
[0008]步骤2,使用javascript语言,对步骤1中的鼠标位置对应的dom对象反复获取dom元素的描述标签;
[0009]步骤3,根据dom元素的描述标签判断步骤2获取的dom元素是否存在日期组件特征,若存在日期组件特征则提取新历年月日三元素,若不存在则回到步骤2;
[0010]步骤4,通过步骤3提取的新历年月日三元素,基于农历算法得出农历年月日格式、天干地支格式;
[0011]步骤5,获取页面窗口大小,根据窗口大小对应选择一尺寸的标签窗口弹出,标签窗口处于页面窗口内并置顶显示,标签窗口内显示步骤4中获得的农历年月日格式、天干地支格式。
[0012]进一步的,步骤2中的日期组件特征为原生html日期组件特征,或jquery、layui、senchajs、dojo日期组件特征。
[0013]进一步的,步骤4中,根据农历年月日格式判断是否为节气日,若为节气日则在步骤5的便签窗口中显示对应节气名称。
[0014]进一步的,步骤5中,先进行鼠标移动事件判断,若鼠标停留时间大于等于0.5s则进行后续窗口弹出动作。
[0015]由上述对本专利技术的描述可知,与现有技术相比,本专利技术提供的一种基于html5的中国农历转换浏览器插件实现方法,通过插件方式将网页上的新历日期转换为农历日期,并通过标签弹窗显示,对于经常有新历农历转换需求的人士带来极大便捷。
附图说明
[0016]图1为本专利技术一种基于html5的中国农历转换浏览器插件实现方法流程框图。
具体实施方式
[0017]以下通过具体实施方式对本专利技术作进一步的描述。
[0018]参考图1所示,一种基于html5的中国农历转换浏览器插件实现方法,包括:
[0019]步骤1,使用javascript语言,监听html页面捕获全局鼠标移动事件并实时获取鼠标位置;为了使插件具有通用性,应先判断客户端浏览器的类型,包含了PC端和手机端的各类浏览器IE内核、chrome内核,firefox内核,safari内核,进而判断是手机端还是PC端。主要采用var userAgent=navigator.userAgent;判断是否含有浏览器类型的关键字。鼠标位置通过onmousemove事件来捕获clientX,clienty来获取。
[0020]步骤2,使用javascript语言,对步骤1中的鼠标位置对应的dom对象反复获取dom元素的描述标签,日期组件特征为原生html日期组件特征,或jquery、layui、senchajs、dojo日期组件特征;此应在页面的dom元素注入全局的鼠标Mouseover事件来关联步骤1,获取dom元素的描述标签使用document.all.dom.来获取,通过该方法可以不依赖任何外部插件任意获取本页面或者嵌套页面的任意元素的任意属性,这样使本插件不依赖其他的插件来实现。
[0021]步骤3,根据dom元素的描述标签判断步骤2获取的dom元素是否存在日期组件特征,若存在日期组件特征则提取新历年月日三元素,若不存在则回到步骤2;日期特性的判断通过日期格式的转换异常来进行判断,应符合但不局限于日期格式如YYYYMMDD YYYY

MM

DD YYYY/MM/DD,可作为配置参数以供扩展。主要使用try{}catch()来返回。
[0022]步骤4,通过步骤3提取的新历年月日三元素,基于农历算法得出农历年月日格式、天干地支格式,通过农历年月日格式是否为节气日,若为节气日则生成对应节气名称;农历算法详见阳历转农历算法流程图。
[0023]步骤5,先进行鼠标移动事件判断,若鼠标停留时间大于等于0.5s则进行后续窗口弹出动作,获取页面窗口大小,根据窗口大小对应选择一尺寸的标签窗口弹出,标签窗口处于页面窗口内并置顶显示,标签窗口内显示步骤4中获得的农历年月日格式、天干地支格式、节气名称。窗口大小通过javascript获取,具体通过window.innerWidth和window.innerHeight来获得。
[0024]阳历转农历算法流程图(仅支持1900年到2100年之间):
[0025]前置条件:建立农历1900

2100的润大小信息表,建立公历每个月份的天数普通表(月份有28天,30天,31天等三种情况),建立天干地支生肖速查表["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"]["子","丑","寅","卯","辰","巳","午","未","申","
酉","戌","亥"]["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"],建立日期转农历称呼表['初','十','廿','卅'],建立月份转农历称呼表['正','一','二','三','四','五','六','七','八','九','十','冬','腊'][0026]1、判断年份是否小于1900或者大于2100),如果是则无法解析,如果否则转2;
[0027]2、判断是否年份是否1900年并且月份为1月并且日期小于31,则无法解析,否则转3;
[0028]3、日期格式化,用于传入的格式如22
‑3‑
1、或者20220301,或者2022/3/1之类的格式,并且分离出相应的年、月、日三个变量转4;
[0029]4、从分离出来的年循环从1900年开始到2101年结束来本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于html5的中国农历转换浏览器插件实现方法,其特征在于:包括:步骤1,基于var userAgent=navigator.userAgent提取关键词,并判断客户端浏览器类型,使用javascript语言监听html页面,通过onmousemove事件来捕获clientX,clienty以获取全局鼠标移动事件并实时获取鼠标位置;步骤2,使用javascript语言,对步骤1中的鼠标位置对应的dom对象反复获取dom元素的描述标签,在页面的dom元素注入全局的鼠标Mouseover事件来关联步骤1,获取dom元素的描述标签使用document.all.dom.来获取;步骤3,根据dom元素的描述标签判断步骤2获取的dom元素是否存在日期组件特征,若存在日期组件特征则提取新历年月日三元素,若不存在则回到步骤2;步骤4,通过步骤3提取的新历年月日三元素,基于农历算法得出农历年月日格式、天干地支格式;步骤5,通过javascript的window.innerWidth和window.innerHeig...

【专利技术属性】
技术研发人员:黄初指黄宗伟柳玲玲陈伟鹏王紫塔庄少阳
申请(专利权)人:泉州亿兴电力工程建设有限公司鲤城自动化分公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1