CN102508710A - 一种ie6内核与新型ie内核的切换方法和系统 - Google Patents

一种ie6内核与新型ie内核的切换方法和系统 Download PDF

Info

Publication number
CN102508710A
CN102508710A CN201110295749XA CN201110295749A CN102508710A CN 102508710 A CN102508710 A CN 102508710A CN 201110295749X A CN201110295749X A CN 201110295749XA CN 201110295749 A CN201110295749 A CN 201110295749A CN 102508710 A CN102508710 A CN 102508710A
Authority
CN
China
Prior art keywords
kernel
file
dll
dynamic link
link library
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201110295749XA
Other languages
English (en)
Other versions
CN102508710B (zh
Inventor
陈志�
唐曦
赵晨曦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qizhi Business Consulting Co ltd
Beijing Qihoo Technology Co Ltd
Original Assignee
Qizhi Software Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qizhi Software Beijing Co Ltd filed Critical Qizhi Software Beijing Co Ltd
Priority to CN201310123856.3A priority Critical patent/CN103176844B/zh
Priority to CN201310611985.7A priority patent/CN103617079B/zh
Priority to CN201110295749.XA priority patent/CN102508710B/zh
Publication of CN102508710A publication Critical patent/CN102508710A/zh
Priority to PCT/CN2012/081856 priority patent/WO2013044775A1/zh
Priority to US14/348,551 priority patent/US9602347B2/en
Application granted granted Critical
Publication of CN102508710B publication Critical patent/CN102508710B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72445User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting Internet browser applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种IE6内核与新型IE内核的切换方法和切换系统。本发明提供的方法,包括:生成IE6内核文件和新型IE内核文件,并导入客户端;浏览器进程依据用户提交的统一资源定位符URL信息,判断当前适配的IE内核版本号;若当前适配的IE内核版本号为IE6内核,则浏览器进程重定向至相应位置加载所述IE6内核文件;若当前适配的IE内核版本号为新型IE内核,则浏览器进程重定向至相应位置加载所述新型IE内核文件。本发明可以有效控制IE内核浏览器的页面下载过程,提高页面下载的效率和稳定性。

Description

一种IE6内核与新型IE内核的切换方法和系统
技术领域
本申请涉及浏览器的技术领域,特别是涉及一种IE6内核与新型IE内核的切换方法和一种IE6内核与新型IE内核的切换系统。 
背景技术
浏览器最重要的部分是“Rendering Engine”,可大概译为“解释引擎”,一般习惯将之称为“浏览器内核”。浏览器内核负责对网页语法的解释(如HTML、JavaScript)并渲染(显示)网页。所以,通常所谓的浏览器内核也就是对页面进行下载、解析、执行、渲染的引擎,该引擎决定了浏览器如何显示网页的内容以及页面的格式信息。 
目前市场上流行的浏览器,按实现方式大体可以分为两种: 
第一种,浏览器的开发者既进行浏览器内核的开发,也进行浏览器产品的开发。如:chrome浏览器、firefox浏览器、Safari浏览器、Internet Explore浏览器等。 
第二种,浏览器的开发者,仅进行浏览器产品的开发,使用其他浏览器厂商实现的内核。将内核嵌入到自己浏览器内来使用。如:360安全浏览器、遨游浏览器、世界之窗浏览器、搜狗浏览器等。这种浏览器通常采用Internet Explorer浏览器内核,即采用IE内核的浏览器。 
目前,普通使用IE内核的浏览器包括采用IE6(Internetexplorer 6)内核的浏览器和采用IE8(Internetexplorer 8)内核的浏览器。具体而言,Internetexplorer 6于2001年10月发布,距今已10年有余。但采用IE6内核的浏览器至今仍然占据我国主流浏览器市场50%以上份额,由于环境变化、年代久远等问题,采用IE6内核的浏览器在面对当下互联网中大量使用脚本、图片、Flash等素材的环境中性能表现低下,无法使用户获得流畅体验。Internetexplorer 8于2008年发布以来得到长足应用,如今采用IE8内核的浏览器已经逐渐取代采用IE6内核的浏览器的市场份额,成为用户主流的网页浏览器。Windows Vista以上的系统甚至直接取消了对IE8以下版本 的支持,但基于我国互联网较为复杂的构成,显然用户会面临诸多问题。其中较为典型的就是自2001年以来,大量个人、团队基于IE6不严谨的标准规范构建了大量只能在采用IE6内核的浏览器下正常运行的网站、服务。这样一来,就直接导致了用户在享受新一代浏览器全新技术的同时,无法正常实现自己的工作、娱乐等需求。 
总之,需要本领域技术人员迫切解决的一个技术问题就是:如何解决IE6内核浏览器和IE8内核浏览器的兼容性和适配性问题,使用户获得更好的网页浏览体验。 
发明内容
本申请所要解决的技术问题是提供一种IE6内核与新型IE内核的切换方法,用以有效控制IE内核浏览器的页面下载过程,提高页面下载的效率和稳定性。 
相应地,本申请还提供了一种IE6内核与新型IE内核的切换系统,用以保证上述方法在实际中的应用。 
本申请为解决上述问题提供了一种IE6内核与新型IE内核的切换方法,包括: 
生成IE6内核文件和新型IE内核文件,并导入客户端; 
浏览器进程依据用户提交的统一资源定位符URL信息,判断当前适配的IE内核版本号; 
若当前适配的IE内核版本号为IE6内核,则浏览器进程重定向至相应位置加载所述IE6内核文件; 
若当前适配的IE内核版本号为新型IE内核,则浏览器进程重定向至相应位置加载所述新型IE内核文件。 
优选的是,所述新型IE内核为IE8内核,所述新型IE内核文件为IE8内核文件。 
优选的是,所述新型IE内核为IE8以上版本的IE内核,所述新型IE内核文件为IE8以上版本的IE内核文件。 
优选的是,所述IE6内核文件和IE8内核文件包括: 
IE6内核的动态链接库DLL和IE8内核的动态链接库DLL; 
IE6内核的数据文件和IE8内核的数据文件; 
IE6内核的语言包文件和IE8内核的语言包文件; 
以及,IE6内核的注册表配置文件和IE8内核的注册表配置文件。 
优选的是,所述生成IE6内核文件和新型IE内核文件,并导入客户端的步骤进一步包括: 
从IE6内核提取IE6内核的动态链接库DLL,从IE8内核提取IE8内核的动态链接库DLL; 
经调试分析生成IE6内核的数据文件和语言包文件,以及,IE8内核的数据文件和IE8内核的语言包文件; 
将所述IE6内核的动态链接库DLL、数据文件和语言包文件,以及,IE8内核的动态链接库DLL、数据文件和语言包文件安装至客户端的指定位置; 
生成IE6内核和IE8内核的注册表配置文件,并导入所述客户端的注册表中。 
优选的是,所述从IE6内核提取IE6内核的动态链接库DLL,从IE8内核提取IE8内核的动态链接库DLL的步骤包括: 
重载所有与IE6内核加载相关的系统应用程序接口API; 
通过监视动态链接库DLL查看接口,获得浏览器加载的所有动态链接库DLL; 
排除系统底层的动态链接库DLL,提取IE6内核的动态链接库DLL; 
以及, 
重载所有与IE8内核加载相关的系统应用程序接口API; 
通过监视动态链接库DLL查看接口,获得浏览器加载的所有动态链接库DLL; 
排除系统底层的动态链接库DLL,提取IE8内核的动态链接库DLL。 
优选的是,所述浏览器进程依据用户提交的统一资源定位符URL信 息,判断当前适配的IE内核版本号的步骤进一步包括: 
若当前用户提交的统一资源定位符URL信息为局域网地址,则判定当前适配的IE内核版本号为IE6内核; 
若当前用户提交的统一资源定位符URL信息包含IP地址,则判定当前适配的IE内核版本号为IE6内核; 
若当前用户提交的统一资源定位符URL信息包含在IE8内核兼容域名列表中,则判定当前适配的IE内核版本号为IE8内核。 
优选的是,所述浏览器进程依据用户提交的统一资源定位符URL信息,判断当前适配的IE内核版本号的步骤还包括: 
若当前用户提交的统一资源定位符URL信息包含在新型IE内核兼容域名列表中,则判定当前适配的IE内核版本号为对应的新型IE内核。 
优选的是,所述浏览器进程重定向至客户端相应位置加载所述IE6内核文件的步骤进一步包括: 
子步骤S11、当监视到浏览器进程访问注册表时,若访问IE配置项,则引导浏览器进程读写IE6内核的注册表配置文件;若查询IE内核文件的路径,则返回IE6内核文件所导入的客户端指定位置的信息; 
子步骤S12、当监视到浏览器进程访问动态链接库DLL时,根据当前适配的IE6内核的版本号,定位到对应的IE6内核文件所导入的客户端指定位置,并到该位置查找相同名称的动态链接库DLL,若找到,则引导浏览器进程加载该动态链接库DLL; 
子步骤S13、当监视到浏览器进程访问数据文件、语言包文件时,根据当前适配的IE6内核的版本号,定位到对应的IE6内核文件所导入的客户端指定位置,并到该位置查找相同名称的数据文件和语言包文件,若找到,则引导浏览器进程加载该数据文件和语言包文件; 
子步骤S14、当监视到浏览器进程创建COM对象时,从所述客户端的注册表中,查找实现该COM对象的动态链接库DLL,然后调用所述子步骤S12; 
子步骤S15、当监视到浏览器进程访问DLL内核句柄时,调用所述 子步骤S12。 
优选的是,所述浏览器进程重定向至客户端相应位置加载所述IE8内核文件的步骤进一步包括: 
子步骤S21、当监视到浏览器进程访问注册表时,若访问IE配置项,则引导浏览器进程读写IE8内核的注册表配置文件;若查询IE内核文件的路径,则返回IE8内核文件所导入的客户端指定位置的信息; 
子步骤S22、当监视到浏览器进程访问动态链接库DLL时,根据当前适配的IE8内核的版本号,定位到对应的IE8内核文件所导入的客户端指定位置,并到该位置查找相同名称的动态链接库DLL,若找到,则引导浏览器进程加载该动态链接库DLL; 
子步骤S23、当监视到浏览器进程访问数据文件、语言包文件时,根据当前适配的IE8内核的版本号,定位到对应的IE8内核文件所导入的客户端指定位置,并到该位置查找相同名称的数据文件和语言包文件,若找到,则引导浏览器进程加载该数据文件和语言包文件; 
子步骤S24、当监视到浏览器进程创建COM对象时,从所述客户端的注册表中,查找实现该COM对象的动态链接库DLL,然后调用所述子步骤S22; 
子步骤S25、当监视到浏览器进程访问DLL内核句柄时,调用所述子步骤S22。 
优选的是,所述的方法还包括: 
将所述IE6内核文件和IE8内核文件写入内存; 
所述浏览器进程重定向至相应位置加载所述IE6内核文件的步骤为,所述浏览器进程重定向至内存中的相应位置加载所述IE6内核文件; 
所述浏览器进程重定向至相应位置加载所述IE8内核文件的步骤为,所述浏览器进程重定向至内存中的相应位置加载所述IE8内核文件。 
本申请还提供了一种IE6内核与新型IE内核的切换系统,包括: 
内核文件生成模块,用于生成IE6内核文件和新型IE内核文件,并 导入客户端; 
IE内核版本号判断模块,用于由浏览器进程依据用户提交的统一资源定位符URL信息,判断当前适配的IE内核版本号; 
IE6内核加载模块,用于在当前适配的IE内核版本号为IE6内核时,由浏览器进程重定向至相应位置加载所述IE6内核文件; 
IE8内核加载模块,用于在当前适配的IE内核版本号为新型IE内核时,由浏览器进程重定向至相应位置加载所述新型IE内核文件。 
优选的是,所述新型IE内核为IE8内核,所述新型IE内核文件为IE8内核文件。 
优选的是,所述新型IE内核为IE8以上版本的IE内核,所述新型IE内核文件为IE8以上版本的IE内核文件。 
优选的是,所述IE6内核文件和IE8内核文件包括: 
IE6内核的动态链接库DLL和IE8内核的动态链接库DLL; 
IE6内核的数据文件和IE8内核的数据文件; 
IE6内核的语言包文件和IE8内核的语言包文件; 
以及,IE6内核的注册表配置文件和IE8内核的注册表配置文件。 
优选的是,所述内核文件生成模块进一步包括: 
DLL提取子模块,用于从IE6内核提取IE6内核的动态链接库DLL,从IE8内核提取IE8内核的动态链接库DLL; 
相关文件组织子模块,用于经调试分析生成IE6内核的数据文件和语言包文件,以及,IE8内核的数据文件和IE8内核的语言包文件; 
安装子模块,用于将所述IE6内核的动态链接库DLL、数据文件和语言包文件,以及,IE8内核的动态链接库DLL、数据文件和语言包文件安装至客户端的指定位置; 
注册表配置子模块,用于生成IE6内核和IE8内核的注册表配置文件,并导入所述客户端的注册表中。 
优选的是,所述DLL提取子模块进一步包括: 
第一API重载单元,用于重载所有与IE6内核加载相关的系统应用 程序接口API; 
第一DLL获取单元,用于通过监视动态链接库DLL查看接口,获得浏览器加载的所有动态链接库DLL; 
第一筛选单元,用于排除系统底层的动态链接库DLL,提取IE6内核的动态链接库DLL; 
以及, 
第二API重载单元,用于重载所有与IE8内核加载相关的系统应用程序接口API; 
第二DLL获取单元,用于通过监视动态链接库DLL查看接口,获得浏览器加载的所有动态链接库DLL; 
第二筛选单元,用于排除系统底层的动态链接库DLL,提取IE8内核的动态链接库DLL。 
优选的是,所述IE内核版本号判断模块进一步包括: 
第一判定子模块,用于在前用户提交的统一资源定位符URL信息为局域网地址时,判定当前适配的IE内核版本号为IE6内核; 
第二判定子模块,用于在当前用户提交的统一资源定位符URL信息包含IP地址时,判定当前适配的IE内核版本号为IE6内核; 
第三判定子模块,用于在当前用户提交的统一资源定位符URL信息包含在IE8内核兼容域名列表中时,判定当前适配的IE内核版本号为IE8内核。 
优选的是,所述IE6内核加载模块进一步包括: 
第一注册表操作子模块,用于在监视到浏览器进程访问注册表时,若访问IE配置项,则引导浏览器进程读写IE6内核的注册表配置文件;若查询IE内核文件的路径,则返回IE6内核文件所导入的客户端指定位置的信息; 
第一DLL操作子模块,用于在监视到浏览器进程访问动态链接库DLL时,根据当前适配的IE6内核的版本号,定位到对应的IE6内核文件所导入的客户端指定位置,并到该位置查找相同名称的动态链接库 DLL,若找到,则引导浏览器进程加载该动态链接库DLL; 
第一相关文件操作子模块,用于在监视到浏览器进程访问数据文件、语言包文件时,根据当前适配的IE6内核的版本号,定位到对应的IE6内核文件所导入的客户端指定位置,并到该位置查找相同名称的数据文件和语言包文件,若找到,则引导浏览器进程加载该数据文件和语言包文件; 
第一COM对象创建子模块,用于在监视到浏览器进程创建COM对象时,从所述客户端的注册表中,查找实现该COM对象的动态链接库DLL,然后调用所述第一DLL操作子模块; 
第一DLL内核句柄操作子模块,用于当监视到浏览器进程访问DLL内核句柄时,调用所述第一DLL操作子模块。 
优选的是,所述IE8内核加载模块进一步包括: 
第二注册表操作子模块,用于在监视到浏览器进程访问注册表时,若访问IE配置项,则引导浏览器进程读写IE8内核的注册表配置文件;若查询IE内核文件的路径,则返回IE8内核文件所导入的客户端指定位置的信息; 
第二DLL操作子模块,用于在监视到浏览器进程访问动态链接库DLL时,根据当前适配的IE8内核的版本号,定位到对应的IE8内核文件所导入的客户端指定位置,并到该位置查找相同名称的动态链接库DLL,若找到,则引导浏览器进程加载该动态链接库DLL; 
第二相关文件操作子模块,用于在监视到浏览器进程访问数据文件、语言包文件时,根据当前适配的IE8内核的版本号,定位到对应的IE8内核文件所导入的客户端指定位置,并到该位置查找相同名称的数据文件和语言包文件,若找到,则引导浏览器进程加载该数据文件和语言包文件; 
第二COM对象创建子模块,用于在监视到浏览器进程创建COM对象时,从所述客户端的注册表中,查找实现该COM对象的动态链接库DLL,然后调用所述第二DLL操作子模块; 
第二DLL内核句柄操作子模块,用于当监视到浏览器进程访问DLL内核句柄时,调用所述第二DLL操作子模块。 
优选的是,所述的系统还包括: 
内存写入模块,用于将所述IE6内核文件和IE8内核文件写入内存; 
所述浏览器进程重定向至的相应位置为内存中的相应位置。 
与现有技术相比,本申请具有以下优点: 
本申请可以在不影响用户IE使用的前提下,对适合IE6显示的页面加载IE6内核,适合IE8显示的页面加载IE8内核,以达到复杂环境下用户浏览最完整的兼容性和适配性。 
本申请充分结合了IE6对银行/大型门户网站的普遍支持、IE8的安全、渲染、速度方面提升的优点,实现了一种IE6内核与IE8内核最完整的兼容方式。再者,通过本申请的智能判定自动切换内核,无须重新启动浏览器,无须更换操作系统、或升级IE、或安装多款软件,使用方便。此外,本申请的扩展性好,可以支持IE其它版本内核自动切换。 
附图说明
图1是本申请的一种IE6内核与新型IE内核的切换方法实施例1的步骤流程图; 
图2是本申请的一种IE6内核与新型IE内核的切换方法实施例2的步骤流程图; 
图3是本申请的一种IE6内核与新型IE内核的切换系统实施例的结构框图。 
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。 
本申请的核心构思在于,在不影响用户IE使用的前提下,对适合IE6 显示的页面加载IE6内核,适合IE8显示的页面加载IE8内核,以达到复杂环境下用户浏览最完整的兼容性和适配性。 
参考图1,示出了本申请的一种IE6内核与新型IE内核的切换方法实施例1的步骤流程图,具体可以包括以下步骤: 
步骤101、生成IE6内核文件和新型IE内核文件,并导入客户端; 
在本申请实施例中,所述IE内核指采用IE(Internet Explorer)浏览器内核,IE6内核即指采用IE6(Internet Explorer 6)的浏览器内核,新型IE内核包括IE8内核以及IE8以上版本的IE内核,IE8内核即指采用IE8(Internet Explorer 8)的浏览器内核,IE8以上版本的IE内核即指采用IE9、IE10等可能出现的更高版本的浏览器内核。 
为使本领域技术人员更好地理解本申请,在本说明书中,将IE8内核作为新型IE内核的一种示例进行说明。 
在本申请的一种优选实施例中,所述新型IE内核文件可以为IE8内核文件,则所述IE6内核文件和IE8内核文件可以包括: 
IE6内核的动态链接库DLL和IE8内核的动态链接库DLL; 
IE6内核的数据文件和IE8内核的数据文件; 
IE6内核的语言包文件和IE8内核的语言包文件; 
以及,IE6内核的注册表配置文件和IE8内核的注册表配置文件。 
其中,动态链接库DLL,是Dynamic Link Library的缩写形式,DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个DLL中,该DLL包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL还有助于共享数据和资源。多个应用程序可同时访问内存中单个DLL副本的内容。通过使用DLL,程序可以实现模块化,由相对独立的组件组成。 
在本实施例中,所述步骤101具体可以包括如下子步骤: 
子步骤S01、从IE6内核提取IE6内核的动态链接库DLL,从IE8内核提取IE8内核的动态链接库DLL; 
子步骤S02、经调试分析生成IE6内核的数据文件和语言包文件,以及,IE8内核的数据文件和IE8内核的语言包文件; 
子步骤S03、将所述IE6内核的动态链接库DLL、数据文件和语言包文件,以及,IE8内核的动态链接库DLL、数据文件和语言包文件安装至客户端的指定位置; 
例如,将所述IE6内核的动态链接库DLL、数据文件和语言包文件,以及,IE8内核的动态链接库DLL、数据文件和语言包文件安装至客户端的某个目录下。 
在具体实现中,上述IE6内核的相关文件,以及,IE8内核的相关文件可以分别存储在客户端的不同目录下;或者,也可以存储至同一目录,但针对各文件分别标注其版本号标识,本申请对此不作限制。 
子步骤S04、生成IE6内核和IE8内核的注册表配置文件,并导入所述客户端的注册表中。 
基于IE内核的浏览器,通过静态、动态方式加载的内核DLL非常多,这些DLL可能与操作系统底层相关,可能还需要引用一些注册表项、数据文件、或者语言包文件,需要通过调试逐步分析生成。 
更为优选的是,所述子步骤S01可以进一步包括以下子步骤: 
子步骤S01-11、重载所有与IE6内核加载相关的系统应用程序接口API; 
子步骤S01-12、通过监视动态链接库DLL查看接口,获得浏览器加载的所有动态链接库DLL; 
例如,通过监视LoadLibrary接口(或其它模块查看器),获得浏览器加载的所有DLL。 
子步骤S01-13、排除系统底层的动态链接库DLL,提取IE6内核的动态链接库DLL。 
以及, 
子步骤S01-21、重载所有与IE8内核加载相关的系统应用程序接口API; 
子步骤S01-22、通过监视动态链接库DLL查看接口,获得浏览器加载的所有动态链接库DLL; 
子步骤S01-23、排除系统底层的动态链接库DLL,提取IE8内核的动态链接库DLL。 
步骤102、浏览器进程依据用户提交的统一资源定位符URL信息,判断当前适配的IE内核版本号; 
URL(Uniform Resoure Locator统一资源定位器)是WWW网页的地址,URL使用数字和字母按一定顺序排列以确定一个地址。URL的第一个部分http://表示的是要访问的文件的类型。在网上,这几乎总是使用http(意思是超文本转换协议,hypertext transfer protocol,因为它是用来转换网页的协议。) 
URL从左到右由下述部分组成: 
Internet资源类型(scheme):指出WWW客户程序用来C作的工具。如“http://”表示WWW服务器,“ftp://”表示FTP服务器,“gopher://”表示Gopher服务器,而“new:”表示Newgroup新闻组。 
服务器地址(host):指出WWW网页所在的服务器域名。 
端口(port):有时(并非总是这样),对某些资源的访问来说,需给出相应的服务器提供端口号。 
路径(path):指明服务器上某资源的位置(其格式与DOS系统中的格式一样,通常有目录/子目录/文件名这样结构组成)。与端口一样,路径并非总是需要的。 
URL 地址格式排列为:scheme://host:port/path,例如 http://www.maogoo.com/bbs就是一个典型的URL地址。浏览器首先看到http(超文本传送协议),便知道处理的是HTML链接。接下来的 www.maogoo.com是站点地址,最后是目录/bbs。 
公知的是,进程是一个正在执行的程序,即计算机中正在运行的程序实例;其可以分配给处理器并作为一个实体由处理器执行。从用户角 度来看,浏览器进程可以理解为在任务管理器内所启动的浏览器代表的进程。 
在本申请的一种优选实施例中,所述步骤102具体可以包括如下子步骤: 
子步骤S121、若当前用户提交的统一资源定位符URL信息为局域网地址,则判定当前适配的IE内核版本号为IE6内核; 
子步骤S122、若当前用户提交的统一资源定位符URL信息包含IP地址,则判定当前适配的IE内核版本号为IE6内核; 
子步骤S123、若当前用户提交的统一资源定位符URL信息包含在IE8内核兼容域名列表中,则判定当前适配的IE内核版本号为IE8内核。 
即每个页面开始连接前,浏览器进程会判断访问域名的信息,若为局域网地址或为纯IP地址的HTTP请求,则开启IE6模式;根据实际中IE8内核的兼容域名列表,判定开启IE8模式。在具体实现中,对于其它情况,可以使用系统自带的其它IE内核。 
在实际中,若新型IE内核为IE8以上版本的IE内核,则所述步骤102还可以包括如下子步骤: 
若当前用户提交的统一资源定位符URL信息包含在新型IE内核兼容域名列表中,则判定当前适配的IE内核版本号为对应的新型IE内核。 
步骤103、若当前适配的IE内核版本号为IE6内核,则浏览器进程重定向至相应位置加载所述IE6内核文件; 
重定向,字面即为对某A文件的操作直接转移到B文件。比如读、写、设置长度或文件结尾指针等属性、甚至是删除操作。 
在本申请的一种优先实施例中,所述浏览器进程重定向至客户端相应位置加载所述IE6内核文件的步骤可以进一步包括以下子步骤: 
子步骤S11、当监视到浏览器进程访问注册表时,若访问IE配置项,则引导浏览器进程读写IE6内核的注册表配置文件;若查询IE内核文件的路径,则返回IE6内核文件所导入的客户端指定位置的信息; 
子步骤S12、当监视到浏览器进程访问动态链接库DLL时,根据当前适配的IE6内核的版本号,定位到对应的IE6内核文件所导入的客户端指定位置,并到该位置查找相同名称的动态链接库DLL,若找到,则引导浏览器进程加载该动态链接库DLL; 
子步骤S13、当监视到浏览器进程访问数据文件、语言包文件时,根据当前适配的IE6内核的版本号,定位到对应的IE6内核文件所导入的客户端指定位置,并到该位置查找相同名称的数据文件和语言包文件,若找到,则引导浏览器进程加载该数据文件和语言包文件; 
子步骤S14、当监视到浏览器进程创建COM对象时,从所述客户端的注册表中,查找实现该COM对象的动态链接库DLL,然后调用所述子步骤S12; 
其中,COM对象(The Component Object Model组件对象模型)是遵循COM规范编写、以Win32动态链接库(DLL)或可执行文件(EXE)形式发布的可执行二进制代码,能够满足对组件架构的所有需求。遵循COM的规范标准,组件与应用、组件与组件之间可以互操作,极其方便地建立可伸缩的应用系统。COM对象是一个使用COM规格的可以重复使用的软件组件。使用COM规格可以确保COM对象很好的工作,并且很容易的结合到你的应用程序中。事实上,COM基本相当于一个黑匣子,这个黑匣子能为你的应用程序完成很多的工作。COM对象一般用动态连接库(DLL)实现。和普通的DLL一样,COM对象暴露一些方法,应用程序能够呼叫它,以便完成任何支持的操作。 
子步骤S15、当监视到浏览器进程访问DLL内核句柄时,调用所述子步骤S12。 
其中,句柄是windows用来标志应用程序中建立的或是使用的唯一整数,windows使用了大量的句柄来标志很多对象。但是,句柄不是一个指针,程序不能利用它句柄来直接阅读文件中的信息。 
步骤104、若当前适配的IE内核版本号为新型IE内核,则浏览器进 程重定向至相应位置加载所述新型IE内核文件。 
在本申请的一种优先实施例中,所述浏览器进程重定向至客户端相应位置加载所述IE8内核文件的步骤可以进一步包括如下子步骤: 
子步骤S21、当监视到浏览器进程访问注册表时,若访问IE配置项,则引导浏览器进程读写IE8内核的注册表配置文件;若查询IE内核文件的路径,则返回IE8内核文件所导入的客户端指定位置的信息; 
子步骤S22、当监视到浏览器进程访问动态链接库DLL时,根据当前适配的IE8内核的版本号,定位到对应的IE8内核文件所导入的客户端指定位置,并到该位置查找相同名称的动态链接库DLL,若找到,则引导浏览器进程加载该动态链接库DLL; 
子步骤S23、当监视到浏览器进程访问数据文件、语言包文件时,根据当前适配的IE8内核的版本号,定位到对应的IE8内核文件所导入的客户端指定位置,并到该位置查找相同名称的数据文件和语言包文件,若找到,则引导浏览器进程加载该数据文件和语言包文件; 
子步骤S24、当监视到浏览器进程创建COM对象时,从所述客户端的注册表中,查找实现该COM对象的动态链接库DLL,然后调用所述子步骤S22; 
子步骤S25、当监视到浏览器进程访问DLL内核句柄时,调用所述子步骤S22。 
具体而言,在本申请实施例中,所述IE内核文件的重定向主要是指在浏览器创建时,转向程序指定路径加载文件,主要包括: 
1、IE内核重定向。使浏览器加载指定版本内核对象,重载实现系统API,具体可以采用: 
CoCreateInstance:创建文档及框架组件 
CoGetClassObject:创建脚本引擎及脚本对象 
CoCreateInstanceEx:创建文字系统等扩展接口 
2、DLL重定向。一些功能模块可能以DLL方式实现,也需要重载系统API以重定向,具体可以采用: 
LoadLibrary/LoadLibrary:实现DLL加载 
FreeLibrary:实现DLL释放 
3、注册表重定向。使浏览器加载/保存指定版本的配置数据,重载实现系统API,具体可以采用: 
RegOpenKeyEx:打开注册表键值以读写 
当然,上述方法仅仅用作示例,在具体实现中,本领域技术人员应用其它内核重定向的方法加载对应版本的IE内核文件均是可行的,本申请对此无需加以限制。 
参考图2,示出了本申请的一种IE6内核与新型IE内核的切换方法实施例2的步骤流程图,具体可以包括以下步骤: 
步骤201、生成IE6内核文件和IE8内核文件,并导入客户端; 
步骤202、浏览器进程启动时,将所述IE6内核文件和IE8内核文件写入内存; 
步骤203、浏览器进程依据用户提交的统一资源定位符URL信息,判断当前适配的IE内核版本号; 
步骤204、若当前适配的IE内核版本号为IE6内核,则浏览器进程重定向至内存中相应位置加载所述IE6内核文件; 
步骤205、若当前适配的IE内核版本号为IE8内核,则浏览器进程重定向至内存中相应位置加载所述IE8内核文件。 
为使本领域技术人员更好地理解本申请,以下通过一个完整示例说明本申请的IE6内核与IE8内核的切换过程。 
步骤A、将IE6内核的主要模块文件和IE8内核的主要模块文件,安装到客户端的指定目录中; 
其中,所述IE6内核的主要模块文件和IE8内核的主要模块文件包括:IE6内核的动态链接库DLL和IE8内核的动态链接库DLL;IE6内核的数据文件和IE8内核的数据文件;IE6内核的语言包文件和IE8内核的语言包文件等。 
步骤B、将IE6内核的注册表配置文件和IE8内核的注册表配置文件,导入客户端的注册表中; 
步骤C、浏览器启动时,执行以下子步骤: 
子步骤C1、监视注册表、DLL、内存、网页(用户输入或点击的URL)的访问; 
子步骤C2、加载IE6内核的主要模块文件和IE8内核的主要模块文件到内存中; 
步骤D、当浏览器接收到用户提交的URL时,按照如下方式计算适合该URL的IE内核版本号: 
如果URL为局域网地址,则返回IE内核版本号为IE6(使用IE6内核); 
如果URL包含IP地址,则返回IE内核版本号为IE6(使用IE6内核); 
如果URL在IE8的兼容域名列表中,则返回IE内核版本号为IE8(使用IE8内核); 
其它情况返回0(使用系统自有的IE内核)。 
步骤E、浏览器开始加载内核,创建页面时,会读写注册表、加载DLL及数据文件、创建COM对象,具体涉及以下操作: 
1、当监视到浏览器访问注册表时,若访问IE配置项,则引导其读写步骤B中导入的对应项;若查询IE内核模块路径,则返回步骤C中的内存指定位置; 
2、当监视到浏览器访问DLL时,根据步骤D中计算的IE内核版本号,定位到内存中对应的内核文件目录,到该内核目录中查找相同名称的DLL,若找到,则引导浏览器进程加载对应的内核文件;否则,引导浏览器加载系统的缺省模块; 
3、当监视到浏览器访问数据文件、语言包文件时,根据步骤D中计算的IE内核版本号,到内存中对应的内核文件目录中查找相应文件; 
4、当监视到浏览器创建COM对象时,从步骤B的注册表中,查找 实现该COM对象的DLL,执行以上步骤2; 
5、当监视到浏览器访问DLL内核句柄时,执行以上步骤2。 
在本例中,步骤A、B可以在安装过程中完成,每次浏览器进程启动时执行C项,步骤D、E在每次浏览页面时均执行。 
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。 
参考图3,示出了本申请的一种IE6内核与新型IE内核的切换系统实施例的结构框图,具体可以包括如下模块: 
内核文件生成模块301,用于生成IE6内核文件和新型IE内核文件,并导入客户端; 
IE内核版本号判断模块302,用于由浏览器进程依据用户提交的统一资源定位符URL信息,判断当前适配的IE内核版本号; 
IE6内核加载模块303,用于在当前适配的IE内核版本号为IE6内核时,由浏览器进程重定向至相应位置加载所述IE6内核文件; 
IE8内核加载模块304,用于在当前适配的IE内核版本号为新型IE内核时,由浏览器进程重定向至相应位置加载所述新型IE内核文件。 
在本申请实施例中,所述新型IE内核可以为IE8内核,为使本领域技术人员更好地理解本申请,在本申请实施例中以IE8内核为新型IE内核的一种示例进行说明。 
在实际中,所述新型IE内核还可以为IE8以上版本的IE内核,在这种情况下,所述新型IE内核文件可以为IE8以上版本的IE内核文件。 
在具体实现中,所述新型IE内核文件可以为IE8内核文件,则所述IE6内核文件和IE8内核文件可以包括: 
IE6内核的动态链接库DLL和IE8内核的动态链接库DLL; 
IE6内核的数据文件和IE8内核的数据文件; 
IE6内核的语言包文件和IE8内核的语言包文件; 
以及,IE6内核的注册表配置文件和IE8内核的注册表配置文件。 
在这种情况下,所述内核文件生成模块301可以进一步包括如下子模块: 
DLL提取子模块,用于从IE6内核提取IE6内核的动态链接库DLL,从IE8内核提取IE8内核的动态链接库DLL; 
相关文件组织子模块,用于经调试分析生成IE6内核的数据文件和语言包文件,以及,IE8内核的数据文件和IE8内核的语言包文件; 
安装子模块,用于将所述IE6内核的动态链接库DLL、数据文件和语言包文件,以及,IE8内核的动态链接库DLL、数据文件和语言包文件安装至客户端的指定位置; 
注册表配置子模块,用于生成IE6内核和IE8内核的注册表配置文件,并导入所述客户端的注册表中。 
在本申请的一种优选实施例中,所述DLL提取子模块可以进一步包括如下子模块: 
第一API重载单元,用于重载所有与IE6内核加载相关的系统应用程序接口API; 
第一DLL获取单元,用于通过监视动态链接库DLL查看接口,获得浏览器加载的所有动态链接库DLL; 
第一筛选单元,用于排除系统底层的动态链接库DLL,提取IE6内核的动态链接库DLL; 
以及, 
第二API重载单元,用于重载所有与IE8内核加载相关的系统应用程序接口API; 
第二DLL获取单元,用于通过监视动态链接库DLL查看接口,获得浏览器加载的所有动态链接库DLL; 
第二筛选单元,用于排除系统底层的动态链接库DLL,提取IE8内核的动态链接库DLL。 
作为本申请实施例具体应用的一种示例,所述IE内核版本号判断模块302可以进一步包括如下子模块: 
第一判定子模块,用于在前用户提交的统一资源定位符URL信息为局域网地址时,判定当前适配的IE内核版本号为IE6内核; 
第二判定子模块,用于在当前用户提交的统一资源定位符URL信息包含IP地址时,判定当前适配的IE内核版本号为IE6内核; 
第三判定子模块,用于在当前用户提交的统一资源定位符URL信息包含在IE8内核兼容域名列表中时,判定当前适配的IE内核版本号为IE8内核。 
在具体实现中,所述IE6内核加载模块303可以进一步包括如下子模块: 
第一注册表操作子模块,用于在监视到浏览器进程访问注册表时,若访问IE配置项,则引导浏览器进程读写IE6内核的注册表配置文件;若查询IE内核文件的路径,则返回IE6内核文件所导入的客户端指定位置的信息; 
第一DLL操作子模块,用于在监视到浏览器进程访问动态链接库DLL时,根据当前适配的IE6内核的版本号,定位到对应的IE6内核文件所导入的客户端指定位置,并到该位置查找相同名称的动态链接库DLL,若找到,则引导浏览器进程加载该动态链接库DLL; 
第一相关文件操作子模块,用于在监视到浏览器进程访问数据文件、语言包文件时,根据当前适配的IE6内核的版本号,定位到对应的IE6内核文件所导入的客户端指定位置,并到该位置查找相同名称的数据文件和语言包文件,若找到,则引导浏览器进程加载该数据文件和语言包文件; 
第一COM对象创建子模块,用于在监视到浏览器进程创建COM对象时,从所述客户端的注册表中,查找实现该COM对象的动态链接库 DLL,然后调用所述第一DLL操作子模块; 
第一DLL内核句柄操作子模块,用于当监视到浏览器进程访问DLL内核句柄时,调用所述第一DLL操作子模块。 
在具体实现中,所述IE8内核加载模块304可以进一步包括如下子模块: 
第二注册表操作子模块,用于在监视到浏览器进程访问注册表时,若访问IE配置项,则引导浏览器进程读写IE8内核的注册表配置文件;若查询IE内核文件的路径,则返回IE8内核文件所导入的客户端指定位置的信息; 
第二DLL操作子模块,用于在监视到浏览器进程访问动态链接库DLL时,根据当前适配的IE8内核的版本号,定位到对应的IE8内核文件所导入的客户端指定位置,并到该位置查找相同名称的动态链接库DLL,若找到,则引导浏览器进程加载该动态链接库DLL; 
第二相关文件操作子模块,用于在监视到浏览器进程访问数据文件、语言包文件时,根据当前适配的IE8内核的版本号,定位到对应的IE8内核文件所导入的客户端指定位置,并到该位置查找相同名称的数据文件和语言包文件,若找到,则引导浏览器进程加载该数据文件和语言包文件; 
第二COM对象创建子模块,用于在监视到浏览器进程创建COM对象时,从所述客户端的注册表中,查找实现该COM对象的动态链接库DLL,然后调用所述第二DLL操作子模块; 
第二DLL内核句柄操作子模块,用于当监视到浏览器进程访问DLL内核句柄时,调用所述第二DLL操作子模块。 
在本申请的一种优选实施例中,所述系统还可以包括: 
内存写入模块,用于将所述IE6内核文件和IE8内核文件写入内存; 
在这种情况下,所述浏览器进程重定向至的相应位置为内存中的相应位置。 
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的 比较简单,相关之处参见方法实施例的部分说明即可。 
本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。 
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。 
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。 
以上对本申请所提供的一种IE6内核与新型IE内核的切换方法和一种IE6内核与新型IE内核的切换系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。 

Claims (21)

1.一种IE6内核与新型IE内核的切换方法,其特征在于,包括:
生成IE6内核文件和新型IE内核文件,并导入客户端;
浏览器进程依据用户提交的统一资源定位符URL信息,判断当前适配的IE内核版本号;
若当前适配的IE内核版本号为IE6内核,则浏览器进程重定向至相应位置加载所述IE6内核文件;
若当前适配的IE内核版本号为新型IE内核,则浏览器进程重定向至相应位置加载所述新型IE内核文件。
2.如权利要求1所述的方法,其特征在于,所述新型IE内核为IE8内核,所述新型IE内核文件为IE8内核文件。
3.如权利要求1所述的方法,其特征在于,所述新型IE内核为IE8以上版本的IE内核,所述新型IE内核文件为IE8以上版本的IE内核文件。
4.如权利要求2所述的方法,其特征在于,所述IE6内核文件和IE8内核文件包括:
IE6内核的动态链接库DLL和IE8内核的动态链接库DLL;
IE6内核的数据文件和IE8内核的数据文件;
IE6内核的语言包文件和IE8内核的语言包文件;
以及,IE6内核的注册表配置文件和IE8内核的注册表配置文件。
5.如权利要求4所述的方法,其特征在于,所述生成IE6内核文件和新型IE内核文件,并导入客户端的步骤进一步包括:
从IE6内核提取IE6内核的动态链接库DLL,从IE8内核提取IE8内核的动态链接库DLL;
经调试分析生成IE6内核的数据文件和语言包文件,以及,IE8内核的数据文件和IE8内核的语言包文件;
将所述IE6内核的动态链接库DLL、数据文件和语言包文件,以及,IE8内核的动态链接库DLL、数据文件和语言包文件安装至客户端的指定位置;
生成IE6内核和IE8内核的注册表配置文件,并导入所述客户端的注册表中。
6.如权利要求5所述的方法,其特征在于,所述从IE6内核提取IE6内核的动态链接库DLL,从IE8内核提取IE8内核的动态链接库DLL的步骤包括:
重载所有与IE6内核加载相关的系统应用程序接口API;
通过监视动态链接库DLL查看接口,获得浏览器加载的所有动态链接库DLL;
排除系统底层的动态链接库DLL,提取IE6内核的动态链接库DLL;
以及,
重载所有与IE8内核加载相关的系统应用程序接口API;
通过监视动态链接库DLL查看接口,获得浏览器加载的所有动态链接库DLL;
排除系统底层的动态链接库DLL,提取IE8内核的动态链接库DLL。
7.如权利要求1——6中任一项权利要求所述的方法,其特征在于,所述浏览器进程依据用户提交的统一资源定位符URL信息,判断当前适配的IE内核版本号的步骤进一步包括:
若当前用户提交的统一资源定位符URL信息为局域网地址,则判定当前适配的IE内核版本号为IE6内核;
若当前用户提交的统一资源定位符URL信息包含IP地址,则判定当前适配的IE内核版本号为IE6内核;
若当前用户提交的统一资源定位符URL信息包含在IE8内核兼容域名列表中,则判定当前适配的IE内核版本号为IE8内核。
8.如权利要求1——6中任一项权利要求所述的方法,其特征在于,所述浏览器进程依据用户提交的统一资源定位符URL信息,判断当前适配的IE内核版本号的步骤还包括:
若当前用户提交的统一资源定位符URL信息包含在新型IE内核兼容域名列表中,则判定当前适配的IE内核版本号为对应的新型IE内核。
9.如权利要求4、5或6所述的方法,其特征在于,所述浏览器进程重定向至客户端相应位置加载所述IE6内核文件的步骤进一步包括:
子步骤S11、当监视到浏览器进程访问注册表时,若访问IE配置项,则引导浏览器进程读写IE6内核的注册表配置文件;若查询IE内核文件的路径,则返回IE6内核文件所导入的客户端指定位置的信息;
子步骤S12、当监视到浏览器进程访问动态链接库DLL时,根据当前适配的IE6内核的版本号,定位到对应的IE6内核文件所导入的客户端指定位置,并到该位置查找相同名称的动态链接库DLL,若找到,则引导浏览器进程加载该动态链接库DLL;
子步骤S13、当监视到浏览器进程访问数据文件、语言包文件时,根据当前适配的IE6内核的版本号,定位到对应的IE6内核文件所导入的客户端指定位置,并到该位置查找相同名称的数据文件和语言包文件,若找到,则引导浏览器进程加载该数据文件和语言包文件;
子步骤S14、当监视到浏览器进程创建COM对象时,从所述客户端的注册表中,查找实现该COM对象的动态链接库DLL,然后调用所述子步骤S12;
子步骤S15、当监视到浏览器进程访问DLL内核句柄时,调用所述子步骤S12。
10.如权利要求4、5或6所述的方法,其特征在于,所述浏览器进程重定向至客户端相应位置加载所述IE8内核文件的步骤进一步包括:
子步骤S21、当监视到浏览器进程访问注册表时,若访问IE配置项,则引导浏览器进程读写IE8内核的注册表配置文件;若查询IE内核文件的路径,则返回IE8内核文件所导入的客户端指定位置的信息;
子步骤S22、当监视到浏览器进程访问动态链接库DLL时,根据当前适配的IE8内核的版本号,定位到对应的IE8内核文件所导入的客户端指定位置,并到该位置查找相同名称的动态链接库DLL,若找到,则引导浏览器进程加载该动态链接库DLL;
子步骤S23、当监视到浏览器进程访问数据文件、语言包文件时,根据当前适配的IE8内核的版本号,定位到对应的IE8内核文件所导入的客户端指定位置,并到该位置查找相同名称的数据文件和语言包文件,若找到,则引导浏览器进程加载该数据文件和语言包文件;
子步骤S24、当监视到浏览器进程创建COM对象时,从所述客户端的注册表中,查找实现该COM对象的动态链接库DLL,然后调用所述子步骤S22;
子步骤S25、当监视到浏览器进程访问DLL内核句柄时,调用所述子步骤S22。
11.如权利要求2所述的方法,其特征在于,还包括:
将所述IE6内核文件和IE8内核文件写入内存;
所述浏览器进程重定向至相应位置加载所述IE6内核文件的步骤为,所述浏览器进程重定向至内存中的相应位置加载所述IE6内核文件;
所述浏览器进程重定向至相应位置加载所述IE8内核文件的步骤为,所述浏览器进程重定向至内存中的相应位置加载所述IE8内核文件。
12.一种IE6内核与新型IE内核的切换系统,其特征在于,包括:
内核文件生成模块,用于生成IE6内核文件和新型IE内核文件,并导入客户端;
IE内核版本号判断模块,用于由浏览器进程依据用户提交的统一资源定位符URL信息,判断当前适配的IE内核版本号;
IE6内核加载模块,用于在当前适配的IE内核版本号为IE6内核时,由浏览器进程重定向至相应位置加载所述IE6内核文件;
IE8内核加载模块,用于在当前适配的IE内核版本号为新型IE内核时,由浏览器进程重定向至相应位置加载所述新型IE内核文件。
13.如权利要求12所述的系统,其特征在于,所述新型IE内核为IE8内核,所述新型IE内核文件为IE8内核文件。
14.如权利要求12所述的系统,其特征在于,所述新型IE内核为IE8以上版本的IE内核,所述新型IE内核文件为IE8以上版本的IE内核文件。
15.如权利要求13所述的系统,其特征在于,所述IE6内核文件和IE8内核文件包括:
IE6内核的动态链接库DLL和IE8内核的动态链接库DLL;
IE6内核的数据文件和IE8内核的数据文件;
IE6内核的语言包文件和IE8内核的语言包文件;
以及,IE6内核的注册表配置文件和IE8内核的注册表配置文件。
16.如权利要求15所述的系统,其特征在于,所述内核文件生成模块进一步包括:
DLL提取子模块,用于从IE6内核提取IE6内核的动态链接库DLL,从IE8内核提取IE8内核的动态链接库DLL;
相关文件组织子模块,用于经调试分析生成IE6内核的数据文件和语言包文件,以及,IE8内核的数据文件和IE8内核的语言包文件;
安装子模块,用于将所述IE6内核的动态链接库DLL、数据文件和语言包文件,以及,IE8内核的动态链接库DLL、数据文件和语言包文件安装至客户端的指定位置;
注册表配置子模块,用于生成IE6内核和IE8内核的注册表配置文件,并导入所述客户端的注册表中。
17.如权利要求16所述的系统,其特征在于,所述DLL提取子模块进一步包括:
第一API重载单元,用于重载所有与IE6内核加载相关的系统应用程序接口API;
第一DLL获取单元,用于通过监视动态链接库DLL查看接口,获得浏览器加载的所有动态链接库DLL;
第一筛选单元,用于排除系统底层的动态链接库DLL,提取IE6内核的动态链接库DLL;
以及,
第二API重载单元,用于重载所有与IE8内核加载相关的系统应用程序接口API;
第二DLL获取单元,用于通过监视动态链接库DLL查看接口,获得浏览器加载的所有动态链接库DLL;
第二筛选单元,用于排除系统底层的动态链接库DLL,提取IE8内核的动态链接库DLL。
18.如权利要求12——17中任一项权利要求所述的方法,其特征在于,所述IE内核版本号判断模块进一步包括:
第一判定子模块,用于在前用户提交的统一资源定位符URL信息为局域网地址时,判定当前适配的IE内核版本号为IE6内核;
第二判定子模块,用于在当前用户提交的统一资源定位符URL信息包含IP地址时,判定当前适配的IE内核版本号为IE6内核;
第三判定子模块,用于在当前用户提交的统一资源定位符URL信息包含在IE8内核兼容域名列表中时,判定当前适配的IE内核版本号为IE8内核。
19.如权利要求15、16或17所述的方法,其特征在于,所述IE6内核加载模块进一步包括:
第一注册表操作子模块,用于在监视到浏览器进程访问注册表时,若访问IE配置项,则引导浏览器进程读写IE6内核的注册表配置文件;若查询IE内核文件的路径,则返回IE6内核文件所导入的客户端指定位置的信息;
第一DLL操作子模块,用于在监视到浏览器进程访问动态链接库DLL时,根据当前适配的IE6内核的版本号,定位到对应的IE6内核文件所导入的客户端指定位置,并到该位置查找相同名称的动态链接库DLL,若找到,则引导浏览器进程加载该动态链接库DLL;
第一相关文件操作子模块,用于在监视到浏览器进程访问数据文件、语言包文件时,根据当前适配的IE6内核的版本号,定位到对应的IE6内核文件所导入的客户端指定位置,并到该位置查找相同名称的数据文件和语言包文件,若找到,则引导浏览器进程加载该数据文件和语言包文件;
第一COM对象创建子模块,用于在监视到浏览器进程创建COM对象时,从所述客户端的注册表中,查找实现该COM对象的动态链接库DLL,然后调用所述第一DLL操作子模块;
第一DLL内核句柄操作子模块,用于当监视到浏览器进程访问DLL内核句柄时,调用所述第一DLL操作子模块。
20.如权利要求15、16或17所述的方法,其特征在于,所述IE8内核加载模块进一步包括:
第二注册表操作子模块,用于在监视到浏览器进程访问注册表时,若访问IE配置项,则引导浏览器进程读写IE8内核的注册表配置文件;若查询IE内核文件的路径,则返回IE8内核文件所导入的客户端指定位置的信息;
第二DLL操作子模块,用于在监视到浏览器进程访问动态链接库DLL时,根据当前适配的IE8内核的版本号,定位到对应的IE8内核文件所导入的客户端指定位置,并到该位置查找相同名称的动态链接库DLL,若找到,则引导浏览器进程加载该动态链接库DLL;
第二相关文件操作子模块,用于在监视到浏览器进程访问数据文件、语言包文件时,根据当前适配的IE8内核的版本号,定位到对应的IE8内核文件所导入的客户端指定位置,并到该位置查找相同名称的数据文件和语言包文件,若找到,则引导浏览器进程加载该数据文件和语言包文件;
第二COM对象创建子模块,用于在监视到浏览器进程创建COM对象时,从所述客户端的注册表中,查找实现该COM对象的动态链接库DLL,然后调用所述第二DLL操作子模块;
第二DLL内核句柄操作子模块,用于当监视到浏览器进程访问DLL内核句柄时,调用所述第二DLL操作子模块。
21.如权利要求12所述的系统,其特征在于,还包括:内存写入模块,用于将所述IE6内核文件和IE8内核文件写入内存;所述浏览器进程重定向至的相应位置为内存中的相应位置。
CN201110295749.XA 2011-09-28 2011-09-28 一种ie6内核与新型ie内核的切换方法和系统 Expired - Fee Related CN102508710B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201310123856.3A CN103176844B (zh) 2011-09-28 2011-09-28 一种ie6内核与新型ie内核的切换方法和系统
CN201310611985.7A CN103617079B (zh) 2011-09-28 2011-09-28 一种ie6内核与新型ie内核的切换方法和系统
CN201110295749.XA CN102508710B (zh) 2011-09-28 2011-09-28 一种ie6内核与新型ie内核的切换方法和系统
PCT/CN2012/081856 WO2013044775A1 (zh) 2011-09-28 2012-09-24 一种浏览器进行ie内核切换的方法、系统以及程序
US14/348,551 US9602347B2 (en) 2011-09-28 2012-09-24 Method, system and program for browser to switch IE kernel

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110295749.XA CN102508710B (zh) 2011-09-28 2011-09-28 一种ie6内核与新型ie内核的切换方法和系统

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN201310611985.7A Division CN103617079B (zh) 2011-09-28 2011-09-28 一种ie6内核与新型ie内核的切换方法和系统
CN201310123856.3A Division CN103176844B (zh) 2011-09-28 2011-09-28 一种ie6内核与新型ie内核的切换方法和系统

Publications (2)

Publication Number Publication Date
CN102508710A true CN102508710A (zh) 2012-06-20
CN102508710B CN102508710B (zh) 2014-01-01

Family

ID=46220802

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201110295749.XA Expired - Fee Related CN102508710B (zh) 2011-09-28 2011-09-28 一种ie6内核与新型ie内核的切换方法和系统
CN201310123856.3A Expired - Fee Related CN103176844B (zh) 2011-09-28 2011-09-28 一种ie6内核与新型ie内核的切换方法和系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201310123856.3A Expired - Fee Related CN103176844B (zh) 2011-09-28 2011-09-28 一种ie6内核与新型ie内核的切换方法和系统

Country Status (3)

Country Link
US (1) US9602347B2 (zh)
CN (2) CN102508710B (zh)
WO (1) WO2013044775A1 (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102968448A (zh) * 2012-10-25 2013-03-13 北京奇虎科技有限公司 一种浏览器
CN102968341A (zh) * 2012-10-25 2013-03-13 北京奇虎科技有限公司 基于多内核浏览器的不同版本ie内核切换的方法和装置
WO2013044775A1 (zh) * 2011-09-28 2013-04-04 北京奇虎科技有限公司 一种浏览器进行ie内核切换的方法、系统以及程序
CN103955378A (zh) * 2014-03-31 2014-07-30 北京奇虎科技有限公司 一种针对ie内核浏览器的配置信息处理方法和装置
CN105094977A (zh) * 2014-04-30 2015-11-25 广州市动景计算机科技有限公司 基于域名调整应用程序占用内存的方法及装置
CN105094865A (zh) * 2014-05-08 2015-11-25 腾讯科技(深圳)有限公司 加载自定义ie内核的方法和装置
CN105607928A (zh) * 2015-12-18 2016-05-25 北京奇虎科技有限公司 用于浏览器内核的支持方法和网页的显示方法以及装置
CN105843626A (zh) * 2016-04-12 2016-08-10 无锡天脉聚源传媒科技有限公司 一种基于多版本共存的页面加载方法及装置
CN107239283A (zh) * 2017-05-31 2017-10-10 郑州云海信息技术有限公司 一种存储系统管理软件适配方法及装置
CN108268681A (zh) * 2016-12-30 2018-07-10 无锡天芯互联科技有限公司 一种pcb丝印调整系统和方法
CN108509174A (zh) * 2018-06-21 2018-09-07 泰华智慧产业集团股份有限公司 一种基于ie内核跨屏幕全屏显示网页的方法和系统
CN108733401A (zh) * 2018-05-03 2018-11-02 北京明朝万达科技股份有限公司 一种实现浏览器兼容的方法及装置
CN110247966A (zh) * 2019-06-12 2019-09-17 深圳市酷开网络科技有限公司 内核创建方法、智能电视及计算机可读存储介质
CN111930452A (zh) * 2020-06-30 2020-11-13 龙芯中科(合肥)技术有限公司 浏览器语言包加载方法、浏览器、电子设备及储存介质
CN113591000A (zh) * 2021-07-13 2021-11-02 青岛海信移动通信技术股份有限公司 一种浏览器引擎的切换方法和装置及设备

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617079B (zh) * 2011-09-28 2017-11-14 北京奇虎科技有限公司 一种ie6内核与新型ie内核的切换方法和系统
CN103414770B (zh) * 2013-08-05 2016-12-28 贝壳网际(北京)安全技术有限公司 文件下载方法及装置、文件下载建议方法及装置
CN104516885B (zh) * 2013-09-26 2019-04-16 腾讯科技(深圳)有限公司 浏览程序双内核组件的实现方法及装置
CN105204861B (zh) * 2015-09-29 2018-07-10 上海二三四五网络科技有限公司 一种注册表重定向方法及装置
CN107277140A (zh) * 2017-06-21 2017-10-20 山东浪潮通软信息科技有限公司 一种应用程序接口的分配方法、路由中间件及业务系统
CN109408232B (zh) * 2018-10-17 2020-08-14 山东易通发展集团有限公司 一种基于交易流程的组件化总线调用执行系统
US10853094B2 (en) * 2018-10-23 2020-12-01 EMC IP Holding Company, LLC Dynamically downloadable distributed data deduplication library
CN110221843A (zh) * 2019-05-08 2019-09-10 北京深睿博联科技有限责任公司 浏览器内核切换的方法及装置
CN113542335A (zh) * 2020-04-30 2021-10-22 北京字节跳动网络技术有限公司 一种信息共享方法、装置、电子设备及存储介质
CN112099844B (zh) * 2020-09-16 2023-09-08 国网甘肃省电力公司信息通信公司 一种用于国网业务系统的多内核兼容的智能浏览系统
CN112887408B (zh) * 2021-01-27 2022-11-01 合肥大多数信息科技有限公司 一种用于解决多内核浏览器数据状态共享的系统和方法
CN113779458B (zh) * 2021-07-27 2024-02-27 贝壳找房(北京)科技有限公司 应用加速加载的方法及装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101655863A (zh) * 2009-04-24 2010-02-24 北京搜狗科技发展有限公司 在浏览器中加载网页的方法及浏览器
CN102156709A (zh) * 2011-02-28 2011-08-17 奇智软件(北京)有限公司 一种浏览器引擎模式的切换方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8655944B2 (en) * 2010-10-05 2014-02-18 Microsoft Corporation Website compatibility shims
CN102053836B (zh) * 2010-12-31 2013-04-10 广东欧珀电子工业有限公司 一种Android应用开发的版本管理工具的实现方法
CN102508710B (zh) * 2011-09-28 2014-01-01 奇智软件(北京)有限公司 一种ie6内核与新型ie内核的切换方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101655863A (zh) * 2009-04-24 2010-02-24 北京搜狗科技发展有限公司 在浏览器中加载网页的方法及浏览器
CN102156709A (zh) * 2011-02-28 2011-08-17 奇智软件(北京)有限公司 一种浏览器引擎模式的切换方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
沈骏等: "运用应用虚拟化技术解决IE版本兼容性", 《电脑知识与技术》 *

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9602347B2 (en) 2011-09-28 2017-03-21 Beijing Qihoo Technology Company Limited Method, system and program for browser to switch IE kernel
WO2013044775A1 (zh) * 2011-09-28 2013-04-04 北京奇虎科技有限公司 一种浏览器进行ie内核切换的方法、系统以及程序
CN103176844A (zh) * 2011-09-28 2013-06-26 北京奇虎科技有限公司 一种ie6内核与新型ie内核的切换方法和系统
CN103176844B (zh) * 2011-09-28 2016-03-30 北京奇虎科技有限公司 一种ie6内核与新型ie内核的切换方法和系统
CN102968341A (zh) * 2012-10-25 2013-03-13 北京奇虎科技有限公司 基于多内核浏览器的不同版本ie内核切换的方法和装置
CN102968448A (zh) * 2012-10-25 2013-03-13 北京奇虎科技有限公司 一种浏览器
CN102968448B (zh) * 2012-10-25 2016-09-28 北京奇虎科技有限公司 一种浏览器
CN103955378A (zh) * 2014-03-31 2014-07-30 北京奇虎科技有限公司 一种针对ie内核浏览器的配置信息处理方法和装置
CN103955378B (zh) * 2014-03-31 2017-10-31 北京奇虎科技有限公司 一种针对ie内核浏览器的配置信息处理方法和装置
CN105094977A (zh) * 2014-04-30 2015-11-25 广州市动景计算机科技有限公司 基于域名调整应用程序占用内存的方法及装置
CN105094977B (zh) * 2014-04-30 2018-11-16 广州市动景计算机科技有限公司 基于域名调整应用程序占用内存的方法及装置
CN105094865B (zh) * 2014-05-08 2020-02-18 腾讯科技(深圳)有限公司 加载自定义ie内核的方法和装置
CN105094865A (zh) * 2014-05-08 2015-11-25 腾讯科技(深圳)有限公司 加载自定义ie内核的方法和装置
CN105607928A (zh) * 2015-12-18 2016-05-25 北京奇虎科技有限公司 用于浏览器内核的支持方法和网页的显示方法以及装置
CN105607928B (zh) * 2015-12-18 2019-03-01 北京奇虎科技有限公司 用于浏览器内核的支持方法和网页的显示方法以及装置
CN105843626A (zh) * 2016-04-12 2016-08-10 无锡天脉聚源传媒科技有限公司 一种基于多版本共存的页面加载方法及装置
CN108268681A (zh) * 2016-12-30 2018-07-10 无锡天芯互联科技有限公司 一种pcb丝印调整系统和方法
CN108268681B (zh) * 2016-12-30 2021-10-15 天芯互联科技有限公司 一种pcb丝印调整系统和方法
CN107239283A (zh) * 2017-05-31 2017-10-10 郑州云海信息技术有限公司 一种存储系统管理软件适配方法及装置
CN108733401A (zh) * 2018-05-03 2018-11-02 北京明朝万达科技股份有限公司 一种实现浏览器兼容的方法及装置
CN108733401B (zh) * 2018-05-03 2021-12-14 北京明朝万达科技股份有限公司 一种实现浏览器兼容的方法及装置
CN108509174A (zh) * 2018-06-21 2018-09-07 泰华智慧产业集团股份有限公司 一种基于ie内核跨屏幕全屏显示网页的方法和系统
CN110247966A (zh) * 2019-06-12 2019-09-17 深圳市酷开网络科技有限公司 内核创建方法、智能电视及计算机可读存储介质
CN110247966B (zh) * 2019-06-12 2021-12-14 深圳市酷开网络科技股份有限公司 内核创建方法、智能电视及计算机可读存储介质
CN111930452A (zh) * 2020-06-30 2020-11-13 龙芯中科(合肥)技术有限公司 浏览器语言包加载方法、浏览器、电子设备及储存介质
CN111930452B (zh) * 2020-06-30 2023-12-08 龙芯中科(合肥)技术有限公司 浏览器语言包加载方法、浏览器、电子设备及储存介质
CN113591000A (zh) * 2021-07-13 2021-11-02 青岛海信移动通信技术股份有限公司 一种浏览器引擎的切换方法和装置及设备
CN113591000B (zh) * 2021-07-13 2024-04-19 青岛海信移动通信技术有限公司 一种浏览器引擎的切换方法和装置及设备

Also Published As

Publication number Publication date
WO2013044775A1 (zh) 2013-04-04
US20140244812A1 (en) 2014-08-28
CN103176844A (zh) 2013-06-26
US9602347B2 (en) 2017-03-21
CN103176844B (zh) 2016-03-30
CN102508710B (zh) 2014-01-01

Similar Documents

Publication Publication Date Title
CN102508710B (zh) 一种ie6内核与新型ie内核的切换方法和系统
CN102968341A (zh) 基于多内核浏览器的不同版本ie内核切换的方法和装置
EP2724251B1 (en) Methods for making ajax web applications bookmarkable and crawlable and devices thereof
CN100421375C (zh) 数据共享系统及方法
US12010165B2 (en) Cross-platform module for loading across a plurality of device types
US9747117B2 (en) System and methods for loading an application and its modules in a client device
CN111143729B (zh) 基于单页面应用的优化方法、装置、设备及存储介质
US9715557B2 (en) System, device and method for providing context sensitive content on a computing device
CN102968448A (zh) 一种浏览器
US11640441B2 (en) Page displaying method and device, computer-readable storage medium and electronic device
US8090702B2 (en) Analyzing web site traffic
CN103617079B (zh) 一种ie6内核与新型ie内核的切换方法和系统
CN102253986A (zh) 提高多终端网页显示效果的方法和装置
CN104572753A (zh) 一种书签存储方法及书签存储装置
CN116451271A (zh) 一种应用软件的隐私政策自动提取方法
CN118227226A (zh) 一种基于信创的安全浏览器内核匹配处理方法和系统
Kamau et al. Techniques to Control Memory Hogging by Web Browsers: An in-Depth Review
Northwood et al. Front End
Huynh The design and development of an e-commerce web application
Borggreve Server-Side Enterprise Development with Angular: Use Angular Universal to pre-render your web pages, improving SEO and application UX
Hu Mobile World Wide Web Content
Jobsen et al. Bootstrap 4 Site Blueprints
CN117348960A (zh) 一种网页内容导出方法、装置、设备及介质
Gurnani Web Development with TIBCO General Interface: Building Ajax Clients for Enterprise SOA
Ullah What Makes A Webpage the Most Effective, Attractive and Useful Business Tool?

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 100015 rooms 301-306, 2 / F and 3 / F, block B, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing

Patentee after: Beijing Qizhi Business Consulting Co.,Ltd.

Address before: 100016 East unit, 4th floor, Zhaowei building, 14 Jiuxianqiao Road, Chaoyang District, Beijing

Patentee before: Qizhi software (Beijing) Co.,Ltd.

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20220210

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100015 rooms 301-306, 2 / F and 3 / F, block B, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing

Patentee before: Beijing Qizhi Business Consulting Co.,Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140101