一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2022-09-03 22:53:37 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,特别涉及一种基于html5的中国农历转换浏览器插件实现方法。


背景技术:

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


技术实现要素:

5.为克服现有技术中的不足,本发明提供一种可将网页上新历日期通过弹窗显示农历日期的基于html5的中国农历转换浏览器插件实现方法。
6.为实现上述目的,本发明采用的技术方案如下:一种基于html5的中国农历转换浏览器插件实现方法,其特征在于:包括:
7.步骤1,使用javascript语言,监听html页面捕获全局鼠标移动事件并实时获取鼠标位置;
8.步骤2,使用javascript语言,对步骤1中的鼠标位置对应的dom对象反复获取dom元素的描述标签;
9.步骤3,根据dom元素的描述标签判断步骤2获取的dom元素是否存在日期组件特征,若存在日期组件特征则提取新历年月日三元素,若不存在则回到步骤2;
10.步骤4,通过步骤3提取的新历年月日三元素,基于农历算法得出农历年月日格式、天干地支格式;
11.步骤5,获取页面窗口大小,根据窗口大小对应选择一尺寸的标签窗口弹出,标签窗口处于页面窗口内并置顶显示,标签窗口内显示步骤4中获得的农历年月日格式、天干地支格式。
12.进一步的,步骤2中的日期组件特征为原生html日期组件特征,或jquery、layui、senchajs、dojo日期组件特征。
13.进一步的,步骤4中,根据农历年月日格式判断是否为节气日,若为节气日则在步骤5的便签窗口中显示对应节气名称。
14.进一步的,步骤5中,先进行鼠标移动事件判断,若鼠标停留时间大于等于0.5s则进行后续窗口弹出动作。
15.由上述对本发明的描述可知,与现有技术相比,本发明提供的一种基于html5的中国农历转换浏览器插件实现方法,通过插件方式将网页上的新历日期转换为农历日期,并通过标签弹窗显示,对于经常有新历农历转换需求的人士带来极大便捷。
附图说明
16.图1为本发明一种基于html5的中国农历转换浏览器插件实现方法流程框图。
具体实施方式
17.以下通过具体实施方式对本发明作进一步的描述。
18.参考图1所示,一种基于html5的中国农历转换浏览器插件实现方法,包括:
19.步骤1,使用javascript语言,监听html页面捕获全局鼠标移动事件并实时获取鼠标位置;为了使插件具有通用性,应先判断客户端浏览器的类型,包含了pc端和手机端的各类浏览器ie内核、chrome内核,firefox内核,safari内核,进而判断是手机端还是pc端。主要采用var useragent=navigator.useragent;判断是否含有浏览器类型的关键字。鼠标位置通过onmousemove事件来捕获clientx,clienty来获取。
20.步骤2,使用javascript语言,对步骤1中的鼠标位置对应的dom对象反复获取dom元素的描述标签,日期组件特征为原生html日期组件特征,或jquery、layui、senchajs、dojo日期组件特征;此应在页面的dom元素注入全局的鼠标mouseover事件来关联步骤1,获取dom元素的描述标签使用document.all.dom.来获取,通过该方法可以不依赖任何外部插件任意获取本页面或者嵌套页面的任意元素的任意属性,这样使本插件不依赖其他的插件来实现。
21.步骤3,根据dom元素的描述标签判断步骤2获取的dom元素是否存在日期组件特征,若存在日期组件特征则提取新历年月日三元素,若不存在则回到步骤2;日期特性的判断通过日期格式的转换异常来进行判断,应符合但不局限于日期格式如yyyymmdd yyyy-mm-dd yyyy/mm/dd,可作为配置参数以供扩展。主要使用try{}catch()来返回。
22.步骤4,通过步骤3提取的新历年月日三元素,基于农历算法得出农历年月日格式、天干地支格式,通过农历年月日格式是否为节气日,若为节气日则生成对应节气名称;农历算法详见阳历转农历算法流程图。
23.步骤5,先进行鼠标移动事件判断,若鼠标停留时间大于等于0.5s则进行后续窗口弹出动作,获取页面窗口大小,根据窗口大小对应选择一尺寸的标签窗口弹出,标签窗口处于页面窗口内并置顶显示,标签窗口内显示步骤4中获得的农历年月日格式、天干地支格式、节气名称。窗口大小通过javascript获取,具体通过window.innerwidth和window.innerheight来获得。
24.阳历转农历算法流程图(仅支持1900年到2100年之间):
25.前置条件:建立农历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年结束来返回农历年一整年的总天数(通过传入的年份去速查表搜索是否闰年,然后根据闰年去搜索闰月的天数,只有29,30两种情况),转5;
[0030]
5、从分离出来的日查找是周几,为了适应中国人习惯,数据以1开始,区别外国以周日开始的第一天,转6;
[0031]
6、根据农历闰月表效验闰月如果是闰月,则计算闰月天数否则返回普通的月天数,转7;
[0032]
7、获取天干地支处理,根据上面获得的农历年,天干为取模10,地支为取模12,那么通过得出的数取天干地支表里面查询相对应的天干地支中文,转8;
[0033]
8、获取每个月的两个节气,转9;
[0034]
9、根据8获取的节气,修正干支月转10;
[0035]
10、获取日柱当月一日与1900/1/1相差天数转11;
[0036]
11、农历节日修正,农历12月小月则29号除夕,大月则30号除夕,中国农历节日遇闰月过前不过后的原则,此处取农历12月天数不考虑闰月,农历润12月在本算法仅支持的200年区间内仅1574年出现,转12;
[0037]
12、根据上述获取到的年月日天干地支节气,传入预先设置好的显示数组索引相应的显示文字返回。
[0038]
插件具有平台通用性包括pc和手机,包括各种操作系统,因此只使用纯javascript语言实现,并且不使用任何的外部插件(如jquery等)。
[0039]
以一pc端网页为例:
[0040]
浏览器打开后插件加载并运行,获取鼠标移动事件并实时获取鼠标位置,通过对鼠标位置对应的dom元素的标签进行判断,若具有日期组件特征则获取新历年月日三元素,基于农历算法得出农历年月日格式、天干地支格式,若为节气日则生成对应节气名称。当鼠标停留0.5s及以上时,弹出标签窗口,标签窗口的尺寸大小与位置基于页面窗口大小及鼠标当前所处位置,使标签窗口处于页面窗口内并置顶显示,标签窗口内显示农历年月日格式、天干地支格式、节气名称。
[0041]
上述仅为本发明的一种具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献