前端快捷键的实现与管控方法及装置、计算机存储介质与流程

    专利查询2025-11-03  1


    本发明涉及插件控制,尤其涉及一种前端快捷键的实现与管控方法及装置、计算机存储介质。


    背景技术:

    1、前端键盘快捷键的实现方案目前主要应用于web浏览器的底层,均是通过浏览器事件中的key-down和key-up两个api来实现的。在这两个api的基础上可以实现单个或多个快捷键的监听,在实现上也存在差异,对于单个快捷键的监听,其动作的监听与执行复杂度较低。但对于多个快捷键的监听,则需要每次在按键按下或抬起时:综合考量按键响应的标识兼容性、多程序开启快捷键的冲突、相互按键状态之间的配合,且监听的事件需要及时销毁,避免程序的内存回收无法回收引起内存泄漏等问题。可见,针对现有技术中存在的多个快捷键监听过程中存在的监听难度、复杂度高的问题,提供一种对应的解决方法显得尤为重要。


    技术实现思路

    1、本发明提供一种前端快捷键的实现与管控方法及装置、计算机存储介质,能够解决快捷键在多程序开启时存在响应冲突的问题,降低快捷键的监听复杂度。

    2、为了解决上述技术问题,本发明第一方面公开了一种前端快捷键的实现与管控方法,所述方法应用于预设的目标插件中,所述方法包括:

    3、在确定所述目标插件满足预设的运行条件之后,确定所述目标插件当前应用的浏览器对应的内核类型及其对应的当前应用环境,并执行针对所述当前应用环境的运行预处理操作,所述运行预处理操作包括快捷键兼容标识列表生成、浏览器类型字典生成以及浏览器事件注册中的至少一项;

    4、调用所述目标插件中设置的事件监听函数,并将所述事件监听函数的函数状态切换至实时监听状态;

    5、当确定所述事件监听函数处于所述实时监听状态时,根据所述事件监听函数,对快捷键触发事件执行监听操作,得到针对所述快捷键触发事件的监听结果;所述快捷键触发事件包括与快捷键按下对应的第一事件或与快捷键抬起对应的第二事件;

    6、当所述监听结果表示存在所述第一事件时,对所述第一事件执行预设的事件响应处理,得到针对所述第一事件的事件响应处理结果;所述事件响应处理包括针对所述第一事件的响应列表生成、基于预设响应列表的事件循环比对、针对所述第一事件的回调、基于所述事件监听函数的事件注册中的至少一种。

    7、作为一种可选的实施方式,在本发明第一方面中,所述对所述第一事件执行预设的事件响应处理,得到针对所述第一事件的事件响应处理结果,包括:

    8、判断所述目标插件是否存在用于响应所述第一事件的第一响应列表,当判断出所述目标插件不存在用于响应所述第一事件的第一响应列表时,生成所述第一响应列表,同时根据预设的浏览器类型字典对应的字典属性,将所述第一事件添加至所述第一响应列表;

    9、以所述第一事件对应的第一事件标识为比对目标,对所述第一响应列表执行预设的循环比对操作,得到针对所述第一响应列表的第一比对结果;

    10、当所述第一比对结果表示所述第一事件标识在所述第一响应列表中存在匹配的已记录事件标识,则调用所述事件监听函数中的回调函数执行针对所述第一事件的按键触发操作,并确定所述第一事件已触发;

    11、当所述第一比对结果表示所述第一事件标识在所述第一响应列表中不存在匹配的已记录事件标识,则返回执行所述的根据所述事件监听函数,对快捷键触发事件执行监听操作,得到针对所述快捷键触发事件的监听结果对应的操作。

    12、作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:

    13、当检测到针对所述目标插件的运行触发指令时,对所述目标插件执行插件初始化;

    14、确定所述目标插件对应的当前使用环境,并判断所述当前使用环境是否为浏览器,当判断出所述当前使用环境为浏览器时,确定所述目标插件满足预设的运行条件,并触发执行所述确定所述目标插件当前应用的浏览器对应的内核类型对应的操作;

    15、当判断出所述当前使用环境不为浏览器时,对所述目标插件执行运行异常处理,得到针对所述目标插件的异常处理结果,所述运行异常处理包括异常提示以及针对所述目标插件的结束运行控制;所述异常处理结果用于提示使用用户所述当前使用环境不适用所述目标插件。

    16、作为一种可选的实施方式,在本发明第一方面中,所述对所述目标插件执行运行异常处理,得到针对所述目标插件的异常处理结果,包括:

    17、判断所述事件监听函数是否已注册错误处理钩子,当判断出未注册所述错误处理钩子,针对所述目标插件执行异常抛出,并结束所述目标插件的运行,作为针对所述目标插件的异常处理结果;

    18、当判断出已注册所述错误处理钩子,根据所述错误处理钩子,生成针对所述目标插件以及所述当前使用环境的异常信息;

    19、通过所述错误处理钩子将所述异常信息反馈至使用用户,同时结束所述目标插件的运行,作为针对所述目标插件的异常处理结果。

    20、作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:

    21、当所述监听结果表示存在所述第二事件时,从已生成的第二响应列表中删除该第二响应列表记录的所述第二事件对应的第二事件标识;

    22、以所述第二事件标识为比对目标,对所述第二响应列表执行循环比对,得到针对所述第二响应列表的第二比对结果;

    23、当所述第二比对结果表示所述第二响应列表中已完成针对所述第二事件标识的删除操作时,将所述事件监听函数的函数状态切换至所述实时监听状态。

    24、作为一种可选的实施方式,在本发明第一方面中,所述事件监听函数包括路径监听参数,所述路径监听参数用于监听浏览器的路径是否发生切换;所述方法还包括:

    25、当确定所述事件监听函数处于所述实时监听状态时,分析所述路径监听参数,得到所述路径监听参数对应的参数类型,所述参数类型包括第一类型、第二类型以及第三类型中的任一种;

    26、当确定所述参数类型为所述第一类型时,确定无需传递所述路径监听参数;

    27、当确定所述参数类型为所述第二类型时,根据预设的事件清除函数,对所述事件监听函数执行事件清除与函数状态切换,所述事件清除用于清除所述事件监听函数对应记录的所有监听事件;所述函数状态切换用于将所述事件监听函数的函数状态切换至结束监听状态。

    28、作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:

    29、当确定出所述参数类型为所述第三类型时,获取当前应用环境的环境路径,并判断所述路径监听参数与所述环境路径是否一致;当判断出所述路径监听参数与所述环境路径不一致时,根据所述事件清除函数,对所述事件监听函数执行所述事件清除与所述函数状态切换;

    30、所述事件监听函数还包括焦点监听参数,所述方法还包括:

    31、确定所述焦点监听参数的参数状态,所述参数状态包括表示触发焦点事件的第一状态或与非第一状态;

    32、当确定出所述参数状态为所述第一状态时,对已生成的第三响应列表执行事件清除操作,以清空所述第三响应列表。

    33、本发明第二方面公开了一种前端快捷键的实现与管控装置,所述装置应用于预设的目标插件中,所述装置包括:

    34、确定模块,用于在确定所述目标插件满足预设的运行条件之后,确定所述目标插件当前应用的浏览器对应的内核类型及其对应的当前应用环境;

    35、预处理模块,用于执行针对所述当前应用环境的运行预处理操作,所述运行预处理操作包括快捷键兼容标识列表生成、浏览器类型字典生成以及浏览器事件注册中的至少一项;

    36、函数调用模块,用于调用所述目标插件中设置的事件监听函数;

    37、状态切换模块,用于将所述事件监听函数的函数状态切换至实时监听状态;

    38、监听处理模块,用于当确定所述事件监听函数处于所述实时监听状态时,根据所述事件监听函数,对快捷键触发事件执行监听操作,得到针对所述快捷键触发事件的监听结果;所述快捷键触发事件包括与快捷键按下对应的第一事件或与快捷键抬起对应的第二事件;

    39、事件响应模块,用于当所述监听结果表示存在所述第一事件时,对所述第一事件执行预设的事件响应处理,得到针对所述第一事件的事件响应处理结果;所述事件响应处理包括针对所述第一事件的响应列表生成、基于预设响应列表的事件循环比对、针对所述第一事件的回调、基于所述事件监听函数的事件注册中的至少一种。

    40、作为一种可选的实施方式,在本发明第二方面中,所述事件响应模块对所述第一事件执行预设的事件响应处理,得到针对所述第一事件的事件响应处理结果的方式具体包括:

    41、判断所述目标插件是否存在用于响应所述第一事件的第一响应列表,当判断出所述目标插件不存在用于响应所述第一事件的第一响应列表时,生成所述第一响应列表,同时根据预设的浏览器类型字典对应的字典属性,将所述第一事件添加至所述第一响应列表;

    42、以所述第一事件对应的第一事件标识为比对目标,对所述第一响应列表执行预设的循环比对操作,得到针对所述第一响应列表的第一比对结果;

    43、当所述第一比对结果表示所述第一事件标识在所述第一响应列表中存在匹配的已记录事件标识,则调用所述事件监听函数中的回调函数执行针对所述第一事件的按键触发操作,并确定所述第一事件已触发;

    44、当所述第一比对结果表示所述第一事件标识在所述第一响应列表中不存在匹配的已记录事件标识,则返回执行所述的根据所述事件监听函数,对快捷键触发事件执行监听操作,得到针对所述快捷键触发事件的监听结果对应的操作。

    45、作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:

    46、初始化模块,用于当检测到针对所述目标插件的运行触发指令时,对所述目标插件执行插件初始化;

    47、所述确定模块,还用于确定所述目标插件对应的当前使用环境;

    48、判断模块,用于判断所述当前使用环境是否为浏览器,当判断出所述当前使用环境为浏览器时,确定所述目标插件满足预设的运行条件,并触发所述确定模块执行所述确定所述目标插件当前应用的浏览器对应的内核类型对应的操作;

    49、异常处理模块,用于当所述判断模块判断出所述当前使用环境不为浏览器时,对所述目标插件执行运行异常处理,得到针对所述目标插件的异常处理结果,所述运行异常处理包括异常提示以及针对所述目标插件的结束运行控制;所述异常处理结果用于提示使用用户所述当前使用环境不适用所述目标插件。

    50、作为一种可选的实施方式,在本发明第二方面中,所述异常处理模块对所述目标插件执行运行异常处理,得到针对所述目标插件的异常处理结果的方式具体包括:

    51、判断所述事件监听函数是否已注册错误处理钩子,当判断出未注册所述错误处理钩子,针对所述目标插件执行异常抛出,并结束所述目标插件的运行,作为针对所述目标插件的异常处理结果;

    52、当判断出已注册所述错误处理钩子,根据所述错误处理钩子,生成针对所述目标插件以及所述当前使用环境的异常信息;

    53、通过所述错误处理钩子将所述异常信息反馈至使用用户,同时结束所述目标插件的运行,作为针对所述目标插件的异常处理结果。

    54、作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:

    55、第二监听模块,用于当所述监听结果表示存在所述第二事件时,从已生成的第二响应列表中删除该第二响应列表记录的所述第二事件对应的第二事件标识;

    56、所述第二监听模块,还用于以所述第二事件标识为比对目标,对所述第二响应列表执行循环比对,得到针对所述第二响应列表的第二比对结果;

    57、所述第二监听模块,还用于当所述第二比对结果表示所述第二响应列表中已完成针对所述第二事件标识的删除操作时,将所述事件监听函数的函数状态切换至所述实时监听状态。

    58、作为一种可选的实施方式,在本发明第二方面中,所述事件监听函数包括路径监听参数,所述路径监听参数用于监听浏览器的路径是否发生切换;所述装置还包括:

    59、第三监听模块,用于当确定所述事件监听函数处于所述实时监听状态时,分析所述路径监听参数,得到所述路径监听参数对应的参数类型,所述参数类型包括第一类型、第二类型以及第三类型中的任一种;

    60、第三监听模块,还用于当确定所述参数类型为所述第一类型时,确定无需传递所述路径监听参数;

    61、所述第三监听模块,还用于当确定所述参数类型为所述第二类型时,根据预设的事件清除函数,对所述事件监听函数执行事件清除与函数状态切换,所述事件清除用于清除所述事件监听函数对应记录的所有监听事件;所述函数状态切换用于将所述事件监听函数的函数状态切换至结束监听状态。

    62、作为一种可选的实施方式,在本发明第二方面中,所述第三监听模块,还用于当确定出所述参数类型为所述第三类型时,获取当前应用环境的环境路径,并判断所述路径监听参数与所述环境路径是否一致;当判断出所述路径监听参数与所述环境路径不一致时,根据所述事件清除函数,对所述事件监听函数执行所述事件清除与所述函数状态切换;

    63、所述事件监听函数还包括焦点监听参数,所述装置还包括:

    64、焦点处理模块,用于确定所述焦点监听参数的参数状态,所述参数状态包括表示触发焦点事件的第一状态或与非第一状态;

    65、所述焦点处理模块,还用于当确定出所述参数状态为所述第一状态时,对已生成的第三响应列表执行事件清除操作,以清空所述第三响应列表。

    66、本发明第三方面公开了另一种前端快捷键的实现与管控装置,所述装置包括:

    67、存储有可执行程序代码的存储器;

    68、与所述存储器耦合的处理器;

    69、所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的前端快捷键的实现与管控方法。

    70、本发明第四方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的前端快捷键的实现与管控方法。

    71、与现有技术相比,本发明实施例具有以下有益效果:

    72、实施本发明,设计了基于单独插件实现快捷键功能实现方案,在运行目标插件之前执行对应的运行预处理,为目标插件的运行提供的可靠的运行条件,减少因运行环境不兼容目标插件和/或目标插件的相关功能加载不齐全,导致目标插件运行失败、运行报错等情况的发生概率,也即该运行预处理的设置有利于提高目标插件的运行可靠性;此外,确定执行运行预处理之后,通过目标插件中设置的事件监听函数,实现快捷键触发事件的实时监听功能,针对第一事件设置了对应的响应流程,提高了第一事件的响应速度以及响应可靠性;以及,目标插件的应用实现了浏览器快捷键状态的集中化管理,有利于提高使用者的使用便捷性以及减少使用者的维护成本;同时,由于该目标插件能够兼容不同的浏览器内核,从而能够解决因浏览器内核不同引发的快捷键触发标识差异的问题。


    技术特征:

    1.一种前端快捷键的实现与管控方法,其特征在于,所述方法应用于预设的目标插件中,所述方法包括:

    2.根据权利要求1所述的前端快捷键的实现与管控方法,其特征在于,所述对所述第一事件执行预设的事件响应处理,得到针对所述第一事件的事件响应处理结果,包括:

    3.根据权利要求1或2所述的前端快捷键的实现与管控方法,其特征在于,所述方法还包括:

    4.根据权利要求3所述的前端快捷键的实现与管控方法,其特征在于,所述对所述目标插件执行运行异常处理,得到针对所述目标插件的异常处理结果,包括:

    5.根据权利要求1或2或4所述的前端快捷键的实现与管控方法,其特征在于,所述方法还包括:

    6.根据权利要求5所述的前端快捷键的实现与管控方法,其特征在于,所述事件监听函数包括路径监听参数,所述路径监听参数用于监听浏览器的路径是否发生切换;所述方法还包括:

    7.根据权利要求6所述的前端快捷键的实现与管控方法,其特征在于,所述方法还包括:

    8.一种前端快捷键的实现与管控装置,其特征在于,所述装置应用于预设的目标插件中,所述装置包括:

    9.一种前端快捷键的实现与管控装置,其特征在于,所述装置包括:

    10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行如权利要求1-7任一项所述的前端快捷键的实现与管控方法。


    技术总结
    本发明涉及插件控制领域,公开了一种前端快捷键的实现与管控方法及装置、计算机存储介质。通过实施本发明,在运行目标插件之前执行运行预处理,有利于减少因运行环境不兼容目标插件和/或目标插件的功能加载不齐全,导致目标插件运行失败、运行报错等情况的发生概率;继而,通过目标插件中设置的事件监听函数,实现快捷键触发事件的实时监听功能,针对监听事件设置了对应的响应流程,提高了监听事件的响应速度;以及,目标插件的应用实现了浏览器快捷键状态的集中化管理,有利于提高使用者的使用便捷性及减少使用者的维护成本;同时,由于该目标插件能够兼容不同的浏览器内核,从而能够解决因浏览器内核不同引发的快捷键触发标识差异的问题。

    技术研发人员:杨金玉
    受保护的技术使用者:深圳市绿联科技股份有限公司
    技术研发日:
    技术公布日:2024/11/26
    转载请注明原文地址:https://tc.8miu.com/read-31612.html

    最新回复(0)