专利名称:一种浏览器输入控件的进程控制方法和装置的制作方法
技术领域:
本申请涉及网页内容交互的技术领域,特别是涉及ー种浏览器输入控件的进程控制方法,一种浏览器输入控件的进程控制装置,以及,一种浏览器系统。
背景技术:
当今,输入法是计算机使用中的ー项重要功能,在浏览器的地址栏和捜索栏等需要输入关键词的信息输入栏,输入法更加频繁的使用。在浏览器中应用输入法的时候,会出现输入法进程突然卡死或崩溃。这个时候,浏览器也会停止了运行或者崩溃,需要关闭整个浏览器进程后重启。出现上述情况主要是由于现有技术中,输入法是以插件形式,注入浏览器,在浏览 器的上加载必要的文件,对输入指令执行相应的操作。但是在具体应用中,因为传统程序中浏览器中程序的结构较为松散,程序运行时的必要文件会出现很大的情況。在输入法运行时会发生非核心文件加载失败的情况,需要重启解決。所以在传统程序中,输入法作是系统的ー个重要插件,但是如果有任何一款输入法没有经过严格的兼容性和稳定性测试,软件质量没有有效的保证,非常容易就导致浏览器在使用的过程中出现崩溃,卡死,严重的影响了用户的上网体验。因此,本领域技术人员迫切需要解决的问题是提供一种浏览器输入控件的进程控制方法和装置,用以在浏览器中运行的输入法插件进程崩溃卡死吋,不影响浏览器主进程,用户能够继续的浏览网页,给用户良好的上网体验。并且,及时给用户建议更换质量稳定的输入法。
发明内容
本申请所要解决的技术问题是提供一种浏览器输入控件的进程控制方法,用以在浏览器中运行的输入法插件进程崩溃卡死时,不影响浏览器主进程,用户能够继续的浏览网页,给用户良好的上网体验。并且,及时给用户建议更换质量稳定的输入法。相应的,本申请还提供了一种浏览器输入控件的进程控制装置,用以保障上述方法在实际中的应用。为了解决上述问题,本申请公开了一种浏览器输入控件的进程控制方法,具体可以包括启动浏览器主进程;所述浏览器主进程创建浏览器输入控件的第一独立子进程;注入第一输入法程序到所述第一独立子进程;所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;注入第二输入法程序到所述第二独立子进程。优选的是,所述第一独立子进程控制第一输入法程序;所述浏览器主进程创建浏览器输入控件的第一独立子进程的步骤可以包括浏览器主进程加载输入控件;在输入控件中调用子进程创建函数,创建第一独立子进程。优选的是,所述的方法,还可以包括所述浏览器主进程创建监控子进程。
优选的是,所述浏览器主进程和子进程、子进程和子进程之间搭建信息交互通道;所述第二独立子进程控制第二输入法程序;所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程的步骤可以包括所述监控子进程通过所述信息交互通道将第一输入法程序异常的消息发送给所述浏览器主进程;所述浏览器主进程关闭所述第一独立子进程;在输入控件中调用子进程创建函数,创建第二独立子进程。优选的是,所述监控子进程通过所述信息交互通道将第一输入法程序异常的消息发送给所述浏览器主进程的步骤可以包括所述监控子进程监控所述第一子进程的运行,获取第一输入法程序异常的反馈信息;所述监控子进程将所述反馈信息编写成异常消息,通过所述交互通道发送给所述浏览器主进程。优选的是,所述第一输入法程序可以包括浏览器主进程记录的用户首选的输入法;所述第二输入法程序可以包括浏览器默认的输入法或用户预置的输入法。优选的是,所述注入第一输入法程序到所述第一独立子进程的步骤可以包括浏览器主进程在所述输入控件中调用输入法切換接ロ ;在所述第一子进程注入所述用户首选的输入法。优选的是,所述注入第二输入法程序到所述第二独立子进程的步骤可以包括浏览器主进程在所述输入控件中调用输入法切換接ロ ;在所述第ニ子进程注入所述浏览器默认的输入法或用户预置的输入法。优选的是,所述的方法,还可以包括统计所述输入法子进程出现异常的频率,生成提示信息。优选的是,所述提示信息可以包括当前输入法子进程异常的提示信息;以及,是否更换首选输入法的选项。本申请同时提供了一种浏览器输入控件的进程控制装置,具体可以包括主进程启动模块、用于启动浏览器主进程;第一独立子进程创建模块、用于所述浏览器主进程创建浏览器输入控件的第一独立子进程;第一输入法程序注入模块、用于注入第一输入法程序到所述第一独立子进程;第二独立子进程创建模块、用于所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;第二输入法程序注入模块、用于注入第二输入法程序到所述第二独立子进程。优选的是,所述第一独立子进程控制第一输入法程序;所述第一独立子进程创建模块可以包括输入控件加载子模块、用于浏览器主进程加载输入控件;创建函数调用子模块、用于在输入控件中调用子进程创建函数,创建第一独立子进程。优选的是,所述的装置,还可以包括监控子进程创建模块、用于所述浏览器主进程创建监控子进程。优选的是,所述浏览器主进程和子进程、子进程和子进程之间搭建信息交互通道;所述第二独立子进程控制第二输入法程序;所述第二独立子进程创建模块可以包括异常消息发送子模块、用于所述监控子进程通过所述信息交互通道将第一输入法 程序异常的消息发送给所述浏览器主进程;第一独立子进程关闭子模块、用于所述浏览器主进程关闭所述第一独立子进程;创建函数调用子模块、用于在输入控件中调用子进程创建函数,创建第二独立子进程。优选的是,所述异常消息发送子模块可以包括反馈信息获取单元、用于所述监控子进程监控所述第一子进程的运行,获取第一输入法程序异常的反馈信息;异常消息传递单元、用于所述监控子进程将所述反馈信息编写成异常消息,通过所述交互通道发送给所述浏览器主进程。优选的是,所述第一输入法程序可以包括浏览器主进程记录的用户首选的输入法;所述第二输入法程序可以包括浏览器默认的输入法或用户预置的输入法。优选的是,所述第一输入法程序注入模块可以包括切換接ロ调用子模块、用于浏览器主进程在所述输入控件中调用输入法切換接Π ;首选输入法注入子模块、用于在所述第一子进程注入所述用户首选的输入法。优选的是,所述第二输入法程序注入模块可以包括切換接ロ调用子模块、用于浏览器主进程在所述输入控件中调用输入法切換接Π ;替换输入法注入子模块、用于在所述第ニ子进程注入所述浏览器默认的输入法或用户预置的输入法。优选的是,所述的装置,还可以包括提示信息生成模块、用于统计所述输入法子进程出现异常的频率,生成提示信息。优选的是,所述提示信息可以包括当前输入法子进程异常的提示信息;以及,是否更换首选输入法的选项。本申请还同时提供了一种浏览器系统,具体可以包括主进程启动模块、用于启动浏览器主进程;第一独立子进程创建模块、用于所述浏览器主进程创建浏览器输入控件的第一独立子进程;第一输入法程序注入模块、用于注入第一输入法程序到所述第一独立子进程;第二独立子进程创建模块、用于所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;第二输入法程序注入模块、用于注入第二输入法程序到所述第二独立子进程。与现有技术相比,本申请具有以下优点本申请通过浏览器主进程在加载地址栏是,创建ー个独立的输入法子进程。所述浏览器主进程通过创建另ー个监控子进程对输入法子进程进行监控;在输入法子进程卡死或崩溃的情况下,监控子进程将消息发送给浏览器主进程,浏览器主进程通过交互通道关闭输入法子进程,不影响浏览器主进程继续运行。
并且,当输入法子进程卡死或崩溃时,浏览器主进程通过弹出提示信息,提示输入法子进程异常和提供是否更换输入法子进程的选项。还可以通过分析输入法子进程的异常 率,推荐最优的输入法子进程。
图I是本申请ー种浏览器输入控件的进程控制方法实施例I的流程图;图2是本申请ー种浏览器输入控件的进程控制方法实施例2的流程图;图3是本申请ー种浏览器输入控件的进程控制装置实施例I的结构框图;图4是本申请ー种浏览器输入控件的进程控制装置实施例2的结构框图;图5是本申请ー种浏览器系统实施例的结构框图。
具体实施例方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本申请作进一步详细的说明。本申请实施例的核心构思之ー在于,通过浏览器主进程在加载地址栏是,创建一个独立的输入法子进程。所述浏览器主进程通过创建另ー个监控子进程对输入法子进程进行监控;在输入法子进程卡死或崩溃的情况下,监控子进程将消息发送给浏览器主进程,浏览器主进程通过交互通道关闭输入法子进程,不影响浏览器主进程继续运行。并且,当输入法子进程卡死或崩溃时,浏览器主进程通过弹出提示信息,提示输入法子进程异常和提供是否更换输入法子进程的选项。还可以通过分析输入法子进程的异常率,推荐最优的输入法子进程。參照图1,示出了一种浏览器输入控件的进程控制方法实施例I的流程图,具体可以包括以下步骤步骤101、启动浏览器主进程;在本申请的ー种优选实施例中,所述浏览器主进程用于触发页面展示框架窗ロ加载页面,所述页面中包括输入控件。在具体实现中,触发浏览器主进程后浏览器主进程可以创建多个子进程。当加载浏览器页面中的各个输入控件,包括加载浏览器的地址栏和搜索栏等。步骤102、所述浏览器主进程创建浏览器输入控件的第一独立子进程;在本申请的ー种优选实施例中,所述第一独立子进程控制第一输入法程序;所述步骤102具体可以包括以下子步骤子步骤S11、浏览器主进程加载输入控件;
子步骤S12、在输入控件中调用子进程创建函数,创建第一独立子进程。在具体实现中,浏览器主进程在触发之后,是逐条创建子进程的。当加载到功能控件的时候,可以创建对应的子进程,所以在加载输入控件的时候,浏览器主进程开始创建输入控件中的第一独立子进程。步骤103、注入第一输入法程序到所述第一独立子进程;步骤104、所述浏览器主进程创建监控子进程;在具体实现中,主进程和子进程,子进程和子进程之间需要相互发送消息,反馈信息,可以通过多种现有方式实现跨进程通信。本申请主要采用搭建进程间的交互通道来实现进程之间的交互。这里的交互通道可以采用管道的方式搭建,管道可以用于两个不同进程之间的通信。将ー个主进程创建ー个管道,并调用fork函数创建ー个子进程后,主进程关闭读管道 端,子进程关闭写管道端,这样提供了两个进程之间数据流动的ー种方式。步骤105、所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;在本申请的ー种优选实施例中,所述第二独立子进程控制第二输入法程序;所述步骤105具体可以包括以下子步骤子步骤S21、所述监控子进程通过所述信息交互通道将第一输入法程序异常的消息发送给所述浏览器主进程;在本申请的ー种优选实施例中,所述子步骤S21具体可以包括以下単元所述监控子进程监控所述第一子进程的运行,获取第一输入法程序异常的反馈信息;所述监控子进程将所述反馈信息编写成异常消息,通过所述交互通道发送给所述浏览器主进程。子步骤S22、所述浏览器主进程关闭所述第一独立子进程;子步骤S23、在输入控件中调用子进程创建函数,创建第二独立子进程。步骤106、注入第二输入法程序到所述第二独立子进程。在本申请的ー种优选实施例中,所述第一输入法程序包括浏览器主进程记录的用户首选的输入法;所述第二输入法程序包括浏览器默认的输入法或用户预置的输入法。參照图2,示出了一种浏览器输入控件的进程控制方法实施例2的流程图,具体可以包括以下步骤步骤201、启动浏览器主进程;步骤202、所述浏览器主进程创建浏览器输入控件的第一独立子进程;步骤203、注入第一输入法程序到所述第一独立子进程;在本申请的ー种优选实施例中,所述步骤203具体可以包括以下子步骤子步骤S31、浏览器主进程在所述输入控件中调用输入法切換接ロ ;子步骤S32、在所述第一子进程注入所述用户首选的输入法。步骤204、所述浏览器主进程创建监控子进程;在具体实现中,浏览器主进程可以创建多个子进程,其中可以创建ー个监控子进程对其他的子进程进行监控。为了有效监控各个子进程的运行情况,可以首先创建监控子进程。在具体实现中,可以通过跨进程通信来实现主进程对子进程建的控制,可以通过对输入法初始化,对进程间接ロ进行搭建交互通道,用于浏览器主进程和输入法子进程之间发送消息。在浏览器主进程和监控子进程之间也可以设置交互通道,监控子进程可以通过交互通道反馈消息给浏览器主进程。步骤205、所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;步骤206、注入第二输入法程序到所述第二独立子进程;在本申请的ー种优选实施例中,所述步骤203具体可以包括以下子步骤 子步骤S41、浏览器主进程在所述输入控件中调用输入法切換接ロ ;子步骤S42、在所述第ニ子进程注入所述浏览器默认的输入法或用户预置的输入法。步骤207、统计所述输入法子进程出现异常的频率,生成提示信息。在本申请的ー种优选实施例中,所述提示信息包括当前输入法子进程异常的提示信息;以及,是否更换首选输入法的选项。在具体实现中,浏览器页面可以弹出一个信息提示框,在提示框中告诉用户当前的输入法出现了异常情況,已经关闭。同时,在信息提示框中可以附有ー个选项框,提供用户是否选择自动替换另ー个输入法。另ー个输入法可以是默认的替换输入法,也可以是用户预设的用于替换的输入法。信息提示框中还可以告知用户当前输入法不稳定,容易出现卡死和崩溃的情況,建议用户更换首选输入法。判断输入法的稳定性可以统计所述输入法出现异常的频率,当所述频率超过ー个预设阈值时,可以判定此输入法不稳定。在具体实现中,可以通过统计ー个时间段的输入法子进程异常次数,可以用输入法子进程异常次数除以时间段中输入法子进程运行总次数得到输入法子进程异常率。如统计时间段设定为I周,总共在浏览器地址栏运行输入法子进程20次,其中有4次输入法子进程出现异常,因此4/20=20%,则该输入法子进程异常率为20%。与预设的输入法子进程异常阈值3%进行比较,由于该输入法子进程异常率超过了预设的输入法子进程异常阈值,所以此输入法不稳定。为了方便本领域技术人员更好地理解本申请,以下通过ー个完整示例更进ー步说明本申请I、启动浏览器主进程,浏览器页面开始逐条加载功能栏。2、浏览器首先加载监控功能组件,创建监控子进程;3、当浏览器加载某输入控件的时候,浏览器主进程创建ー个独立子进程“A”;并搭建浏览器主进程和输入法子进程之间的交互通道,以及搭建浏览器主进程和监控子进程之间、“A”和监控子进程之间的交互通道。4、浏览器主进程将用户首选输入法注入“A”。5、监控子进程发现输入法子进程“ A”在运行中卡死,监控子进程通过交互通道将输入法子进程“A”卡死出现异常的消息发送给浏览器住进程;浏览器主进程在获取输入法子进程“A”卡死的信息后,通过交互通道发送关闭输入法子进程“A”的消息。6、浏览器主进程创建ー个独立子进程“B”;并搭建浏览器主进程和“B”之间的交互通道,以及搭建浏览器主进程和监控子进程之间、“B”和监控子进程之间的交互通道。7、,浏览器主进程在桌面调用输入法子进程切換接ロ,调用浏览器默认输入法注入“B,,。8、浏览器主进程统计一周内,用户首选输入法的异常情况,得到用户首选输入法的异常率为40%,与预设的异常率阈值3%对比后,发现超出了预设阈值,浏览器页面弹出提示信息框,提示用户首选输入法不稳定,容易出现崩溃和卡死的现象,建议更换输入法。需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申 请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必须的。參照图3,示出了一种浏览器输入控件的进程控制装置实施例I的结构框图,具体可以包括主进程启动模块301、用于启动浏览器主进程;第一独立子进程创建模块302、用于所述浏览器主进程创建浏览器输入控件的第一独立子进程;在本申请的ー种优选实施例中,所述第一独立子进程控制第一输入法程序;所述第一独立子进程创建模块302具体可以包括以下子模块输入控件加载子模块、用于浏览器主进程加载输入控件;创建函数调用子模块、用于在输入控件中调用子进程创建函数,创建第一独立子进程。第一输入法程序注入模块303、用于注入第一输入法程序到所述第一独立子进程;在本申请的ー种优选实施例中,所述第一输入法程序注入模块303具体可以包括以下子模块切換接ロ调用子模块、用于浏览器主进程在所述输入控件中调用输入法切換接Π ;首选输入法注入子模块、用于在所述第一子进程注入所述用户首选的输入法。第二独立子进程创建模块304、用于所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;在本申请的ー种优选实施例中,所述第二独立子进程控制第二输入法程序;所述第二独立子进程创建模块304具体可以包括以下子模块异常消息发送子模块、用于所述监控子进程通过所述信息交互通道将第一输入法程序异常的消息发送给所述浏览器主进程;在本申请的ー种优选实施例中,所述异常消息发送子模块具体可以包括以下单元反馈信息获取单元、用于所述监控子进程监控所述第一子进程的运行,获取第一输入法程序异常的反馈信息;
异常消息传递单元、用于所述监控子进程将所述反馈信息编写成异常消息,通过所述交互通道发送给所述浏览器主进程。第一独立子进程关闭子模块、用于所述浏览器主进程关闭所述第一独立子进程;创建函数调用子模块、用于在输入控件中调用子进程创建函数,创建第二独立子进程。第二输入法程序注入模块305、用于注入第二输入法程序到所述第二独立子进程。在本申请的ー种优选实施例中,所述第二输入法程序注入模块具体可以包括以下子步骤切換接ロ调用子模块、用于浏览器主进程在所述输入控件中调用输入法切換接Π ;
替换输入法注入子模块、用于在所述第ニ子进程注入所述浏览器默认的输入法或用户预置的输入法。參照图4,示出了一种浏览器输入控件的进程控制装置实施例2的结构框图,具体可以包括主进程启动模块401、用于启动浏览器主进程;第一独立子进程创建模块402、用于所述浏览器主进程创建浏览器输入控件的第一独立子进程;第一输入法程序注入模块403、用于注入第一输入法程序到所述第一独立子进程;监控子进程创建模块404、用于所述浏览器主进程创建监控子进程;第二独立子进程创建模块405、用于所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;第二输入法程序注入模块406、用于注入第二输入法程序到所述第二独立子进程;提示信息生成模块407、用于统计所述输入法子进程出现异常的频率,生成提示信
O在本申请的ー种优选实施例中,所述提示信息包括当前输入法子进程异常的提示信息;以及,是否更换首选输入法的选项。參照图5,示出了一种浏览器系统实施例的结构框图,具体可以包括主进程启动模块501、用于启动浏览器主进程;第一独立子进程创建模块502、用于所述浏览器主进程创建浏览器输入控件的第一独立子进程;第一输入法程序注入模块503、用于注入第一输入法程序到所述第一独立子进程;第二独立子进程创建模块504、用于所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;第二输入法程序注入模块505、用于注入第二输入法程序到所述第二独立子进程。由于所述装置实施例基本相应于前述方法实施例,故本实施例的描述中未详尽之处,可以參见前述实施例中的相关说明,在此就不赘述了。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是參照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每ー流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生ー个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图ー个流程或多个流程和/或方框图ー个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图ー个流程或多个流程和/或方框图ー个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图ー个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另ー个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括ー个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。以上对本申请所提供的一种浏览器输入控件的进程控制方法,一种浏览器输入控件的进程控制装置,以及,一种浏览器系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
权利要求
1.一种浏览器输入控件的进程控制方法,其特征在于,包括 启动浏览器主进程; 所述浏览器主进程创建浏览器输入控件的第一独立子进程; 注入第一输入法程序到所述第一独立子进程; 所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程; 注入第二输入法程序到所述第二独立子进程。
2.如权利要求I所述的方法,其特征在于,所述第一独立子进程控制第一输入法程序;所述浏览器主进程创建浏览器输入控件的第一独立子进程的步骤包括 浏览器主进程加载输入控件; 在输入控件中调用子进程创建函数,创建第一独立子进程。
3.如权利要求2所述的方法,其特征在于,还包括 所述浏览器主进程创建监控子进程。
4.如权利要求3所述的方法,其特征在于,所述浏览器主进程和子进程、子进程和子进程之间搭建信息交互通道;所述第二独立子进程控制第二输入法程序;所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程的步骤包括 所述监控子进程通过所述信息交互通道将第一输入法程序异常的消息发送给所述浏览器主进程; 所述浏览器主进程关闭所述第一独立子进程; 在输入控件中调用子进程创建函数,创建第二独立子进程。
5.如权利要求4所述的方法,其特征在干,所述监控子进程通过所述信息交互通道将第一输入法程序异常的消息发送给所述浏览器主进程的步骤包括 所述监控子进程监控所述第一子进程的运行,获取第一输入法程序异常的反馈信息;所述监控子进程将所述反馈信息编写成异常消息,通过所述交互通道发送给所述浏览器主进程。
6.如权利要求5所述的方法,其特征在干,所述第一输入法程序包括浏览器主进程记录的用户首选的输入法;所述第二输入法程序包括浏览器默认的输入法或用户预置的输入法。
7.如权利要求6所述的方法,其特征在干,所述注入第一输入法程序到所述第一独立子进程的步骤包括 浏览器主进程在所述输入控件中调用输入法切換接ロ; 在所述第一子进程注入所述用户首选的输入法。
8.如权利要求7所述的方法,其特征在干,所述注入第二输入法程序到所述第二独立子进程的步骤包括 浏览器主进程在所述输入控件中调用输入法切換接ロ; 在所述第ニ子进程注入所述浏览器默认的输入法或用户预置的输入法。
9.如权利要求8所述的方法,其特征在于,还包括 统计所述输入法子进程出现异常的频率,生成提示信息。
10.如权利要求9所述的方法,其特征在于,所述提示信息包括当前输入法子进程异常的提示信息;以及,是否更换首选输入法的选项。
11.一种浏览器输入控件的进程控制装置,其特征在于,包括 主进程启动模块、用于启动浏览器主进程; 第一独立子进程创建模块、用于所述浏览器主进程创建浏览器输入控件的第一独立子进程; 第一输入法程序注入模块、用于注入第一输入法程序到所述第一独立子进程; 第二独立子进程创建模块、用于所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程; 第二输入法程序注入模块、用于注入第二输入法程序到所述第二独立子进程。
12.如权利要求11所述的装置,其特征在于,所述第一独立子进程控制第一输入法程序;所述第一独立子进程创建模块包括 输入控件加载子模块、用于浏览器主进程加载输入控件; 创建函数调用子模块、用于在输入控件中调用子进程创建函数,创建第一独立子进程。
13.如权利要求12所述的装置,其特征在于,还包括 监控子进程创建模块、用于所述浏览器主进程创建监控子进程。
14.如权利要求13所述的装置,其特征在于,所述浏览器主进程和子进程、子进程和子进程之间搭建信息交互通道;所述第二独立子进程控制第二输入法程序;所述第二独立子进程创建模块包括 异常消息发送子模块、用于所述监控子进程通过所述信息交互通道将第一输入法程序异常的消息发送给所述浏览器主进程; 第一独立子进程关闭子模块、用于所述浏览器主进程关闭所述第一独立子进程; 创建函数调用子模块、用于在输入控件中调用子进程创建函数,创建第二独立子进程。
15.如权利要求14所述的装置,其特征在于,所述异常消息发送子模块包括 反馈信息获取单元、用于所述监控子进程监控所述第一子进程的运行,获取第一输入法程序异常的反馈信息; 异常消息传递单元、用于所述监控子进程将所述反馈信息编写成异常消息,通过所述交互通道发送给所述浏览器主进程。
16.如权利要求15所述的装置,其特征在于,所述第一输入法程序包括浏览器主进程记录的用户首选的输入法;所述第二输入法程序包括浏览器默认的输入法或用户预置的输入法。
17.如权利要求16所述的装置,其特征在于,所述第一输入法程序注入模块包括 切換接ロ调用子模块、用于浏览器主进程在所述输入控件中调用输入法切換接ロ ; 首选输入法注入子模块、用于在所述第一子进程注入所述用户首选的输入法。
18.如权利要求17所述的装置,其特征在于,所述第二输入法程序注入模块包括 切換接ロ调用子模块、用于浏览器主进程在所述输入控件中调用输入法切換接ロ ; 替换输入法注入子模块、用于在所述第ニ子进程注入所述浏览器默认的输入法或用户预置的输入法。
19.如权利要求18所述的装置,其特征在于,还包括提示信息生成模块、用于统计所述输入法子进程出现异常的频率,生成提示信息。
20.如权利要求19所述的装置,其特征在于,所述提示信息包括当前输入法子进程异常的提示信息;以及,是否更换首选输入法的选项。
21.一种浏览器系统,其特征在于,包括 主进程启动模块、用于启动浏览器主进程; 第一独立子进程创建模块、用于所述浏览器主进程创建浏览器输入控件的第一独立子进程; 第一输入法程序注入模块、用于注入第一输入法程序到所述第一独立子进程; 第二独立子进程创建模块、用于所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程; 第二输入法程序注入模块、用于注入第二输入法程序到所述第二独立子进程。
全文摘要
本申请提供了一种浏览器输入控件的进程控制方法和装置,以及,一种浏览器系统。其中方法包括启动浏览器主进程;所述浏览器主进程创建浏览器输入控件的第一独立子进程;注入第一输入法程序到所述第一独立子进程;所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;注入第二输入法程序到所述第二独立子进程。本申请能够在浏览器中运行的输入法插件进程崩溃卡死时,不影响浏览器主进程,用户能够继续的浏览网页,给用户良好的上网体验。并且,及时给用户建议更换质量稳定的输入法。
文档编号G06F17/30GK102681891SQ20121013805
公开日2012年9月19日 申请日期2012年5月4日 优先权日2012年5月4日
发明者任寰, 党壮, 孙鹏 申请人:奇智软件(北京)有限公司