CN105930467B - 一种信息处理方法及电子设备 - Google Patents

一种信息处理方法及电子设备 Download PDF

Info

Publication number
CN105930467B
CN105930467B CN201610257578.4A CN201610257578A CN105930467B CN 105930467 B CN105930467 B CN 105930467B CN 201610257578 A CN201610257578 A CN 201610257578A CN 105930467 B CN105930467 B CN 105930467B
Authority
CN
China
Prior art keywords
message
electronic equipment
jsbridge
layers
type
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.)
Active
Application number
CN201610257578.4A
Other languages
English (en)
Other versions
CN105930467A (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201610257578.4A priority Critical patent/CN105930467B/zh
Publication of CN105930467A publication Critical patent/CN105930467A/zh
Application granted granted Critical
Publication of CN105930467B publication Critical patent/CN105930467B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]

Abstract

本发明公开了一种信息处理方法及电子设备,包括通过所述第一电子设备的静态js将第一消息发送至jsbridge层,其中,所述第一消息为响应针对所述第一电子设备的第一应用程序的第一应用程序界面的第一操作生成的消息;所述jsbridge层将所述第一消息发送至所述第一电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块。通过本发明提供的技术方案,解决了现有技术中插入h5页面的应用程序存在原生体验较差的技术问题。

Description

一种信息处理方法及电子设备
技术领域
本发明涉及计算机领域,特别涉及一种信息处理方法及电子设备。
背景技术
随着客户端开发技术的升级,混合模式移动应用逐渐成为主流。混合模式移动应用是指介于网络应用和本地应用两者之间的应用,兼具本地应用的良好用户交互体验的优势和网页应用跨平台开发的优势。
目前,在混合模式移动应用插入h5页面的开发过程中,要么是把页面呈现和交互的逻辑全部放在js层实现,其实现逻辑全部放在远程服务端,导致插入h5页面的应用程序的响应速度较慢;要么没有利用native层的性能优势,如:仅仅利用了native的通用部分接口与功能,没有发挥native的ui控件的交互体验优势。
可见,现有技术中插入h5页面的应用程序存在原生体验较差的技术问题。
发明内容
本发明提供一种信息处理方法及电子设备,用于解决现有技术中插入h5页面的应用程序存在原生体验较差的技术问题,以达到提高原生体验的技术效果。
一方面,本申请实施例提供一种信息处理方法,应用于第一电子设备,包括:
通过所述第一电子设备的静态js将第一消息发送至jsbridge层,其中,所述第一消息为响应针对所述第一电子设备的第一应用程序的第一应用程序界面的第一操作生成的消息;
所述jsbridge层将所述第一消息发送至所述第一电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块。
可选的,通过所述第一电子设备的静态js将第一消息发送至jsbridge层,包括:
从与所述第一电子设备相连的第二电子设备下载逻辑业务js及html5的页面框架;
所述逻辑业务js调用所述第一电子设备中的静态js,通过所述静态js将第一消息发送至jsbridge层。
可选的,在所述jsbridge层将所述第一消息发送至所述第一电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块之前,所述方法还包括:
所述jsbridge层将所述第一消息转化为所述原生框架层能够识别的第二消息,其中,所述第一消息和所述第二消息具有相同的消息内容,不同的消息格式。
可选的,所述jsbridge层将所述第一消息发送至所述第一电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块,包括:
所述原生框架层确定所述第二消息的消息类型;
若所述消息类型为第一消息类型,则将通过所述原生框架层的本地处理模块处理所述第二消息,以调用与所述第一操作对应的第一本地功能组件。
可选的,在所述若所述消息类型为第一消息类型,则将通过所述原生框架层的本地处理模块处理所述第二消息,以调用与所述第一操作对应的第一本地功能组件之后,所述方法还包括:
所述jsbridge层调用与所述第一本地功能组件对应的第一回调函数,以实现与所述第一本地功能组件对应的功能。
可选的,所述第一本地功能组件具体为弹窗组件、页面子组件、页面组件。
可选的,所述页面子组件嵌入在所述页面组件中,其中,所述页面子组件控制网络页面和所述本地处理模块的生命周期,所述页面组件控制所述弹窗组件和所述页面子组件的生命周期。
可选的,在所述确定所述第二消息的消息类型之后,所述方法还包括:
若所述消息类型为第二消息类型,则调用所述第一电子设备的系统的系统资源文件;
若所述消息类型为第三消息类型,则调用所述第一应用程序的内部资源文件。
另一方面,本申请实施例还提供一种电子设备,包括:
壳体;
传感装置,设置在所述壳体内;
处理装置,与所述传感装置连接,用于通过所述电子设备的静态js将第一消息发送至jsbridge层,其中,所述第一消息为响应针对所述电子设备的第一应用程序的第一应用程序界面的第一操作生成的消息;所述jsbridge层将所述第一消息发送至所述电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块。
可选的,所述处理装置用于:
从与所述电子设备相连的第二电子设备下载逻辑业务js及html5的页面框架;
所述逻辑业务js调用所述电子设备中的静态js,通过所述静态js将第一消息发送至jsbridge层。
可选的,在所述jsbridge层将所述第一消息发送至所述第一电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块之前,所述处理装置还用于:
通过所述jsbridge层将所述第一消息转化为所述原生框架层能够识别的第二消息,其中,所述第一消息和所述第二消息具有相同的消息内容,不同的消息格式。
可选的,所述处理装置用于:
通过所述原生框架层确定所述第二消息的消息类型;
若所述消息类型为第一消息类型,则将通过所述原生框架层的本地处理模块处理所述第二消息,以调用与所述第一操作对应的第一本地功能组件。
可选的,在所述若所述消息类型为第一消息类型,则将通过所述原生框架层的本地处理模块处理所述第二消息,以调用与所述第一操作对应的第一本地功能控件之后,所述处理装置还用于:
通过所述jsbridge层调用与所述第一本地功能组件对应的第一回调函数,以实现与所述第一本地功能组件对应的功能。
可选的,所述第一本地功能组件具体为弹窗组件、页面子组件、页面组件。
可选的,所述页面子组件嵌入在所述页面组件中,其中,所述页面子组件控制网络页面和所述本地处理模块的生命周期,所述页面组件控制所述弹窗组件和所述页面子组件的生命周期。
可选的,在所述确定所述第二消息的消息类型之后,所述处理装置还用于:
若所述消息类型为第二消息类型,则调用所述第一电子设备的系统的系统资源文件;
若所述消息类型为第三消息类型,则调用所述第一应用程序的内部资源文件。
另一方面,本申请实施例还提供一种电子设备,包括:
第一发送单元,用于通过所述电子设备的静态js将第一消息发送至jsbridge层,其中,所述第一消息为响应针对所述电子设备的第一应用程序的第一应用程序界面的第一操作生成的消息;
第一调用单元,用于通过所述jsbridge层将所述第一消息发送至所述第一电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块。
通过本发明中的上述实施例中的一个实施例或多个实施例,至少可以实现如下技术效果:
一、由于本申请实施例中的技术方案,通过所述第一电子设备的静态js将第一消息发送至jsbridge层,其中,所述第一消息为响应针对所述第一电子设备的第一应用程序的第一应用程序界面的第一操作生成的消息;所述jsbridge层将所述第一消息发送至所述第一电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块。即不会像现有技术中要么是把页面呈现和交互的逻辑全部放在js层实现,其实现逻辑全部放在远程服务端,导致插入h5页面的应用程序的响应速度较慢;要么没有利用native层的性能优势,如:仅仅利用了native的通用部分非ui强相关的接口与功能,没有发挥native的ui控件的交互体验优势。而在本技术方案中,是利用native层的原生控件替代h5页面的通用控件,实现原生控件html5页面的所有功能,以提高原生控件的体验效果,所以,能够有效解决现有技术中插入h5页面的应用程序存在原生体验较差的技术问题,以达到提高原生体验的技术效果。
二、由于本申请实施例中的技术方案,从与所述第一电子设备相连的第二电子设备下载逻辑业务js及html5的页面框架;所述逻辑业务js调用所述第一电子设备中的静态js,通过所述静态js将第一消息发送至jsbridge层。即在本技术方案中,将业务逻辑层js与静态js完全分离,并将静态js存储在应用程序中,这样在需要加载资源时,不仅减少了页面渲染和加载时间,更加减少了网络流量,进而达到了提高用户体验度的技术效果。
附图说明
图1为本申请实施例一提供的一种信息处理方法的具体实现流程图;
图2为本申请实施例一提供的一种信息处理方法中步骤S101的具体实现流程图;
图3为本申请实施例二提供的一种电子设备的结构示意图;
图4为本申请实施例三提供的一种电子设备的结构示意图。
具体实施方式
本申请实施例提供的技术方案,用于解决现有技术中插入h5页面的应用程序存在原生体验较差的技术问题,以达到提高原生体验的技术效果。
本申请实施例中的技术方案为解决上述技术问题,总体思路如下:
通过所述第一电子设备的静态js将第一消息发送至jsbridge层,其中,所述第一消息为响应针对所述第一电子设备的第一应用程序的第一应用程序界面的第一操作生成的消息;
所述jsbridge层将所述第一消息发送至所述第一电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块。
在上述技术方案中,通过所述第一电子设备的静态js将第一消息发送至jsbridge层,其中,所述第一消息为响应针对所述第一电子设备的第一应用程序的第一应用程序界面的第一操作生成的消息;所述jsbridge层将所述第一消息发送至所述第一电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块。即不会像现有技术中要么是把页面呈现和交互的逻辑全部放在js层实现,其实现逻辑全部放在远程服务端,导致插入h5页面的应用程序的响应速度较慢;要么没有利用native层的性能优势,如:仅仅利用了native的通用部分接口与功能,没有发挥native的ui控件的交互体验优势。而在本技术方案中,是利用native层的原生控件替代h5页面的通用控件,利用native上的原生控件实现了html5页面的所有功能,以提高原生控件的体验效果,所以,能够有效解决现有技术中插入h5页面的应用程序存在原生体验较差的技术问题,以达到提高原生体验的技术效果。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其它附图。
实施例一
请参考图1,为本申请实施例一提供的一种信息处理方法,应用于第一电子设备,包括:
S101:通过所述第一电子设备的静态js将第一消息发送至jsbridge层,其中,所述第一消息为响应针对所述第一电子设备的第一应用程序的第一应用程序界面的第一操作生成的消息;
S102:所述jsbridge层将所述第一消息发送至所述第一电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块。
本申请实施例提供的一种信息处理方法,可以应用于第一电子设备,第一电子设备具体可以是操作系统为andriod手机、平板电脑;或者操作系统为ios的手机、平板电脑,对于上述两种类型的电子设备均可,在本申请实施例中不作具体限定。
在本申请实施例中,首先执行步骤S101:通过所述第一电子设备的静态js将第一消息发送至jsbridge层,其中,所述第一消息为响应针对所述第一电子设备的第一应用程序的第一应用程序界面的第一操作生成的消息。
对于步骤S101的具体实现过程,请参考图2,具体包括如下步骤:
S201:从与所述第一电子设备相连的第二电子设备下载逻辑业务js及html5的页面框架;
S202:所述逻辑业务js调用所述第一电子设备中的静态js,通过所述静态js将第一消息发送至jsbridge层。
在本申请实施例中,第二电子设备具体可以为网络设备,包括但不限于单个网络服务器、多个网络服务器组成的服务器或基于云计算的由大量主机或网络服务器构成的云。在第二电子设备中存储有业务逻辑js以及h5的页面框架,即提供网页文档内容的上下文结构和含义,也就是划分内容,页面上的第一区域放置什么,第二区域放置什么。
在具体实现过程,在用户打开第一电子设备的第一应用程序,如:混合应用程序,淘宝客户端或百度客户端时,第一电子设备从第二电子设备下载业务逻辑js以及h5的页面框架,在第一电子设备的显示单元上显示h5的框架结构,而对于框架结构样式设计,则需要调用css(Cascading Style Sheets,级联样式表),是一系列格式设置的规则,它控制网页内容的外观,如:为选定的文本指定不同的字体大小和单位(像素、磅值等)。通过CSS可以用像素为单位来设置字体大小,从而可以确保在浏览器中以一致的方式处理页面布局和外观。除设置文本格式外,还可以使用CSS控制网页中块级别元素的格式和定位。例如:可以设置块级别元素的边距和边框,其他文本周围的浮动文本等,以达到渲染h5框架结构的效果。
进一步,在本申请实施例中,CSS具体存储在第一应用程序内部,这样在需要调用CSS时,能够减少网络流量和页面渲染时间,进而达到提高用户体验度的技术效果。
在本申请实施例中,除了将CSS库存在第一电子设备的应用程序内部,同样的将静态的js库也存储在应用程序内容,其中,静态js一部分是调用jsbridge的通用js接口,另一部分是web页面的通用类库,如:jquery,bootstrap等。在将静态js存储在应用程序内部后,这样则不需要从第二电子设备侧下载,同样可以减少网络流量。
在进行页面展示后,当用户需要在页面上进行下拉操作事件时,在第一电子设备检测到该操作时,业务逻辑js则会处理与该操作对应的逻辑业务。调用第一电子设备中静态js,将方法、参数、处理方法进行操作,即生成与第一操作的事件对应的第一消息,然后发送至jsbridge层。
在本申请实施例中,在执行完步骤S101之后,则执行步骤S102:所述jsbridge层将所述第一消息发送至所述第一电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块。
在本申请实施例中,在执行步骤S101之前,所述方法还包括:
所述jsbridge层将所述第一消息转化为所述原生框架层能够识别的第二消息,其中,所述第一消息和所述第二消息具有相同的消息内容,不同的消息格式。
在本申请实施中,在jsbridge将第一消息发送给native层之前,需要对第一消息进行编码处理,如:进行Base64编码,其中,Base64编码具有不可读性,方便url编码并传递,并且让信息能够区分开来的一种形式。在具体实现过程中,还要在相应的请求消息前添加特定的url schema,以区分不同的消息类型。
在本申请实施例中,对于步骤S102的具体实现过程,具体包括如下步骤:
所述原生框架层确定所述第二消息的消息类型;
若所述消息类型为第一消息类型,则将通过所述原生框架层的本地处理模块处理所述第二消息,以调用与所述第一操作对应的第一本地功能组件。
相应的,若所述消息类型为第二消息类型,则调用所述第一电子设备的系统的系统资源文件;
若所述消息类型为第三消息类型,则调用所述第一应用程序的内部资源文件。
在本申请实施例中,jsbridge层作为中间件,用于将由静态js发送的消息转发至native层,在native接收到由jsbridge发送的第二消息之后,需要对接收到的消息进行解码,且在解码之后,处理解码后的第二消息之前,要确定解码后的第二消息所属的消息类型。在具体实现过程中,如:第二消息的类型具体有三大类,其中,第一类型消息属于普通url请求,需要交由本地处理模块(native handler处理的),具体的:y_request://.;第二类型消息为用于调用第一电子设备的系统资源文件,如:照片、文档等资源文件,具体的:android_file://.;第三类消息类型为用于调用第一应用程序的内部资源文件,如:静态js库或css库,具体的:android_asset://.。在本申请实施例中,对于上述举例中的urlschema,对于本领域普通技术人员可以根据实际需要进行设定,在本申请实施例中不作具体限定。
对于上述三种类型的消息中的第一类型消息,在调用与消息对应的功能模块之后,所述方法还包括:
所述jsbridge层调用与所述第一本地功能组件对应的第一回调函数,以实现与所述第一本地功能组件对应的功能。
在具体实现过程中,在native确定消息类型之后,则调用native中的一个函数,然后需要将native中的被调用函数的处理结果返回给js中的方法继续处理。在本申请实施例中,对处理结果进行回调时,将处理结果放到一个消息队列中,然后产生一个url schema。如:y_return://.。接着由iframe将url发送,进而实现基于web页面内iframe的url属性对webview显式的request。在本申请实施例中,类似于上述三种类型消息,可将第一消息类型的回调消息作为第四类型消息。
进一步,在本申请实施例中,在回调,再次通过jsbridge也需要进行base64编码,然后交由js后层处理。
在本申请实施例中,对于第二类型和第三类型的消息,并不需要进行回调,而是将处理结果直接传送给浏览器。
在本申请实施例中,所述第一本地功能组件具体为弹窗组件、页面子组件、页面组件。所述页面子组件嵌入在所述页面组件中,其中,所述页面子组件控制网络页面和所述本地处理模块的生命周期,所述页面组件控制所述弹窗组件和所述页面子组件的生命周期。
在具体实现过程中,对于第一消息类型调用的组件具体为:弹窗组件,如应用在andriod设备中的dialog fragment,或是应用在ios设备中;页面子组件,如:应用在andriod设备的fragment,或者是应用在ios设备的UICollectionView以及页面组件。
在本申请实施例中,页面子组件是嵌入在页面组件中,页面组件用于控制弹窗组件及页面子组件的生命周期,即,当页面组件是暂停状态时,嵌入在页面组件的页面子组件,弹窗子组件均是暂停状态;如果页面组件是stopped状态,则页面组件中的所有页面子组件和弹窗子组件不能被启动。相应的页面子组件用于控制webview及nativehandler的生命周期,使得h5页面上的控件与native handler具有相同的生命周期。
在本申请实施中,通过对native层的组件的调用,可以实现原生的下拉刷新效果,页面数据的异步调用、页面切换、切换本地资源、拍照等等,其中,对于本申请实施例中的页面切换则是通过页面组件中的页面子组件之间的切换来实现的,以及可以自由组合的页面跳转,进一步,通过对h5通用控件的调用,全方位的拓展了h5页面的原生调用和动画效果的能力。
实施例二
请参考图3,本申请实施例还提供一种电子设备,包括:
壳体30;
传感装置31,设置在所述壳体30内;
处理装置32,与所述传感装置31连接,用于通过所述电子设备的静态js将第一消息发送至jsbridge层,其中,所述第一消息为响应针对所述电子设备的第一应用程序的第一应用程序界面的第一操作生成的消息;所述jsbridge层将所述第一消息发送至所述电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块。
可选的,所述处理装置32用于:
从与所述电子设备相连的第二电子设备下载逻辑业务js及html5的页面框架;
所述逻辑业务js调用所述电子设备中的静态js,通过所述静态js将第一消息发送至jsbridge层。
可选的,在所述jsbridge层将所述第一消息发送至所述第一电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块之前,所述处理装置32还用于:
通过所述jsbridge层将所述第一消息转化为所述原生框架层能够识别的第二消息,其中,所述第一消息和所述第二消息具有相同的消息内容,不同的消息格式。
可选的,所述处理装置32用于:
通过所述原生框架层确定所述第二消息的消息类型;
若所述消息类型为第一消息类型,则将通过所述原生框架层的本地处理模块处理所述第二消息,以调用与所述第一操作对应的第一本地功能组件。
可选的,在所述若所述消息类型为第一消息类型,则将通过所述原生框架层的本地处理模块处理所述第二消息,以调用与所述第一操作对应的第一本地功能控件之后,所述处理装置32还用于:
通过所述jsbridge层调用与所述第一本地功能组件对应的第一回调函数,以实现与所述第一本地功能组件对应的功能。
可选的,所述第一本地功能组件具体为弹窗组件、页面子组件、页面组件。
可选的,所述页面子组件嵌入在所述页面组件中,其中,所述页面子组件控制网络页面和所述本地处理模块的生命周期,所述页面组件控制所述弹窗组件和所述页面子组件的生命周期。
可选的,在所述确定所述第二消息的消息类型之后,所述处理装置31还用于:
若所述消息类型为第二消息类型,则调用所述第一电子设备的系统的系统资源文件;
若所述消息类型为第三消息类型,则调用所述第一应用程序的内部资源文件。
实施例三
请参考图4,本申请实施例还提供一种电子设备,包括:
第一发送单元40,用于通过所述电子设备的静态js将第一消息发送至jsbridge层,其中,所述第一消息为响应针对所述电子设备的第一应用程序的第一应用程序界面的第一操作生成的消息;
第一调用单元41,用于通过所述jsbridge层将所述第一消息发送至所述第一电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块。
可选的,所述第一发送单元40,包括:
第一下载模块,用于从与所述第一电子设备相连的第二电子设备下载逻辑业务js及html5的页面框架;
第一调用模块,用于通过所述逻辑业务js调用所述第一电子设备中的静态js,通过所述静态js将第一消息发送至jsbridge层。
可选的,在所述jsbridge层将所述第一消息发送至所述第一电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块之前,所述电子设备还包括:
第一转化单元42,用于通过所述jsbridge层将所述第一消息转化为所述原生框架层能够识别的第二消息,其中,所述第一消息和所述第二消息具有相同的消息内容,不同的消息格式。
可选的,所述第一调用单元,包括:
第一确定模块,用于通过所述原生框架层确定所述第二消息的消息类型;
第二调用模块,用于若所述消息类型为第一消息类型,则将通过所述原生框架层的本地处理模块处理所述第二消息,以调用与所述第一操作对应的第一本地功能组件。
可选的,在所述若所述消息类型为第一消息类型,则将通过所述原生框架层的本地处理模块处理所述第二消息,以调用与所述第一操作对应的第一本地功能组件之后,所述电子设备还包括:
第二调用单元43,用于通过所述jsbridge层调用与所述第一本地功能组件对应的第一回调函数,以实现与所述第一本地功能组件对应的功能。
可选的,在所述确定所述第二消息的消息类型之后,所述电子设备还包括:
第三调用模块,用于若所述消息类型为第二消息类型,则调用所述第一电子设备的系统的系统资源文件;
第四调用模块,用于若所述消息类型为第三消息类型,则调用所述第一应用程序的内部资源文件。
通过本发明中的上述实施例中的一个实施例或多个实施例,至少可以实现如下技术效果:
一、由于本申请实施例中的技术方案,通过所述第一电子设备的静态js将第一消息发送至jsbridge层,其中,所述第一消息为响应针对所述第一电子设备的第一应用程序的第一应用程序界面的第一操作生成的消息;所述jsbridge层将所述第一消息发送至所述第一电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块。即不会像现有技术中要么是把页面呈现和交互的逻辑全部放在js层实现,其实现逻辑全部放在远程服务端,导致插入h5页面的应用程序的响应速度较慢;要么没有利用native层的性能优势,如:仅仅利用了native的通用部分非ui强相关的接口与功能,没有发挥native的ui控件的交互体验优势。而在本技术方案中,是利用native层的原生控件替代h5页面的通用控件,实现原生控件html5页面的所有功能,以提高原生控件的体验效果,所以,能够有效解决现有技术中插入h5页面的应用程序存在原生体验较差的技术问题,以达到提高原生体验的技术效果。
二、由于本申请实施例中的技术方案,从与所述第一电子设备相连的第二电子设备下载逻辑业务js及html5的页面框架;所述逻辑业务js调用所述第一电子设备中的静态js,通过所述静态js将第一消息发送至jsbridge层。即在本技术方案中,将业务逻辑层js与静态js完全分离,并将静态js存储在应用程序中,这样在需要加载资源时,不仅减少了页面渲染和加载时间,更加减少了网络流量,进而达到了提高用户体验度的技术效果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
具体来讲,本申请实施例中的信息处理方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与信息处理方法对应的计算机程序指令被一电子设备读取或被执行时,包括如下步骤:
通过所述第一电子设备的静态js将第一消息发送至jsbridge层,其中,所述第一消息为响应针对所述第一电子设备的第一应用程序的第一应用程序界面的第一操作生成的消息;
所述jsbridge层将所述第一消息发送至所述第一电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块。
可选的,所述存储介质中存储的与步骤:所述通过所述第一电子设备的静态js将第一消息发送至jsbridge层,对应的计算机指令在具体被执行过程中,具体包括如下步骤:
从与所述第一电子设备相连的第二电子设备下载逻辑业务js及html5的页面框架;
所述逻辑业务js调用所述第一电子设备中的静态js,通过所述静态js将第一消息发送至jsbridge层。
可选的,所述存储介质中还存储有另外一些计算指令,该另外一些计算机指令在与步骤:在所述jsbridge层将所述第一消息发送至所述第一电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块对应的计算指令被执行之前被执行,该另外一些计算机指令在具体被执行过程中,具体包括如下步骤:
所述jsbridge层将所述第一消息转化为所述原生框架层能够识别的第二消息,其中,所述第一消息和所述第二消息具有相同的消息内容,不同的消息格式。
可选的,所述存储介质中存储的与步骤:所述jsbridge层将所述第一消息发送至所述第一电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块,对应的计算机指令在具体被执行过程中,具体包括如下步骤:
所述原生框架层确定所述第二消息的消息类型;
若所述消息类型为第一消息类型,则将通过所述原生框架层的本地处理模块处理所述第二消息,以调用与所述第一操作对应的第一本地功能组件。
可选的,所述存储介质中还存储有另外一些计算机指令,该另外一些计算机指令在与步骤:在所述若所述消息类型为第一消息类型,则将通过所述原生框架层的本地处理模块处理所述第二消息,以调用与所述第一操作对应的第一本地功能组件对应的计算机指令被执行之后被执行,该另外一些计算机指令在具体被执行过程中,具体包括如下步骤:
所述jsbridge层调用与所述第一本地功能组件对应的第一回调函数,以实现与所述第一本地功能组件对应的功能。
可选的,所述存储介质中还存储有另外一些计算指令,该另外一些计算机指令在与步骤:在所述确定所述第二消息的消息类型对应的计算机指令被执行之后被执行,该另外一些计算机指令在具体被执行过程中,具体包括如下步骤:
若所述消息类型为第二消息类型,则调用所述第一电子设备的系统的系统资源文件;
若所述消息类型为第三消息类型,则调用所述第一应用程序的内部资源文件。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (15)

1.一种信息处理方法,应用于第一电子设备,包括:
通过所述第一电子设备的静态js将第一消息发送至jsbridge层,其中,所述第一消息为响应针对所述第一电子设备的第一应用程序的第一应用程序界面的第一操作生成的消息;
所述jsbridge层将所述第一消息发送至所述第一电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块;
所述通过所述第一电子设备的静态js将第一消息发送至jsbridge层,包括:
从与所述第一电子设备相连的第二电子设备下载逻辑业务js及html5的页面框架;
所述逻辑业务js调用所述第一电子设备中的静态js,通过所述静态js将第一消息发送至jsbridge层。
2.如权利要求1所述的方法,其特征在于,在所述jsbridge层将所述第一消息发送至所述第一电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块之前,所述方法还包括:
所述jsbridge层将所述第一消息转化为所述原生框架层能够识别的第二消息,其中,所述第一消息和所述第二消息具有相同的消息内容,不同的消息格式。
3.如权利要求2所述的方法,其特征在于,所述jsbridge层将所述第一消息发送至所述第一电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块,包括:
所述原生框架层确定所述第二消息的消息类型;
若所述消息类型为第一消息类型,则将通过所述原生框架层的本地处理模块处理所述第二消息,以调用与所述第一操作对应的第一本地功能组件。
4.如权利要求3所述的方法,其特征在于,在所述若所述消息类型为第一消息类型,则将通过所述原生框架层的本地处理模块处理所述第二消息,以调用与所述第一操作对应的第一本地功能组件之后,所述方法还包括:
所述jsbridge层调用与所述第一本地功能组件对应的第一回调函数,以实现与所述第一本地功能组件对应的功能。
5.如权利要求4所述的方法,其特征在于,所述第一本地功能组件具体为弹窗组件、页面子组件、页面组件。
6.如权利要求5所述的方法,其特征在于,所述页面子组件嵌入在所述页面组件中,其中,所述页面子组件控制网络页面和所述本地处理模块的生命周期,所述页面组件控制所述弹窗组件和所述页面子组件的生命周期。
7.如权利要求3所述的方法,其特征在于,在所述确定所述第二消息的消息类型之后,所述方法还包括:
若所述消息类型为第二消息类型,则调用所述第一电子设备的系统的系统资源文件;
若所述消息类型为第三消息类型,则调用所述第一应用程序的内部资源文件。
8.一种电子设备,包括:
壳体;
传感装置,设置在所述壳体内;
处理装置,与所述传感装置连接,用于通过所述电子设备的静态js将第一消息发送至jsbridge层,其中,所述第一消息为响应针对所述电子设备的第一应用程序的第一应用程序界面的第一操作生成的消息;所述jsbridge层将所述第一消息发送至所述电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块;
所述处理装置用于:
从与所述电子设备相连的第二电子设备下载逻辑业务js及html5的页面框架;
所述逻辑业务js调用所述电子设备中的静态js,通过所述静态js将第一消息发送至jsbridge层。
9.如权利要求8所述的电子设备,其特征在于,在所述jsbridge层将所述第一消息发送至所述电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块之前,所述处理装置还用于:
通过所述jsbridge层将所述第一消息转化为所述原生框架层能够识别的第二消息,其中,所述第一消息和所述第二消息具有相同的消息内容,不同的消息格式。
10.如权利要求9所述的电子设备,其特征在于,所述处理装置用于:
通过所述原生框架层确定所述第二消息的消息类型;
若所述消息类型为第一消息类型,则将通过所述原生框架层的本地处理模块处理所述第二消息,以调用与所述第一操作对应的第一本地功能组件。
11.如权利要求10所述的电子设备,其特征在于,在所述若所述消息类型为第一消息类型,则将通过所述原生框架层的本地处理模块处理所述第二消息,以调用与所述第一操作对应的第一本地功能控件之后,所述处理装置还用于:
通过所述jsbridge层调用与所述第一本地功能组件对应的第一回调函数,以实现与所述第一本地功能组件对应的功能。
12.如权利要求11所述的电子设备,其特征在于,所述第一本地功能组件具体为弹窗组件、页面子组件、页面组件。
13.如权利要求12所述的电子设备,其特征在于,所述页面子组件嵌入在所述页面组件中,其中,所述页面子组件控制网络页面和所述本地处理模块的生命周期,所述页面组件控制所述弹窗组件和所述页面子组件的生命周期。
14.如权利要求10所述的电子设备,其特征在于,在所述确定所述第二消息的消息类型之后,所述处理装置还用于:
若所述消息类型为第二消息类型,则调用所述电子设备的系统的系统资源文件;
若所述消息类型为第三消息类型,则调用所述第一应用程序的内部资源文件。
15.一种电子设备,包括:
第一发送单元,用于通过所述电子设备的静态js将第一消息发送至jsbridge层,其中,所述第一消息为响应针对所述电子设备的第一应用程序的第一应用程序界面的第一操作生成的消息;所述第一发送单元还用于从与所述电子设备相连的第二电子设备下载逻辑业务js及html5的页面框架;所述逻辑业务js调用所述电子设备中的静态js,通过所述静态js将第一消息发送至jsbridge层;
第一调用单元,用于通过所述jsbridge层将所述第一消息发送至所述电子设备中的原生框架层,以调用与所述第一操作对应的第一本地功能模块。
CN201610257578.4A 2016-04-22 2016-04-22 一种信息处理方法及电子设备 Active CN105930467B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610257578.4A CN105930467B (zh) 2016-04-22 2016-04-22 一种信息处理方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610257578.4A CN105930467B (zh) 2016-04-22 2016-04-22 一种信息处理方法及电子设备

Publications (2)

Publication Number Publication Date
CN105930467A CN105930467A (zh) 2016-09-07
CN105930467B true CN105930467B (zh) 2019-10-29

Family

ID=56836268

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610257578.4A Active CN105930467B (zh) 2016-04-22 2016-04-22 一种信息处理方法及电子设备

Country Status (1)

Country Link
CN (1) CN105930467B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106970946A (zh) * 2017-02-24 2017-07-21 阿里巴巴集团控股有限公司 一种页面显示方法及装置
CN107678778B (zh) * 2017-03-14 2019-12-13 平安科技(深圳)有限公司 基于Hybrid的兼容方法、适配件、运行装置及系统
CN107368560B (zh) * 2017-07-07 2022-11-04 腾讯科技(深圳)有限公司 移动应用的页面实现方法和装置、计算机可读存储介质
CN107678741B (zh) * 2017-10-09 2020-09-08 武汉斗鱼网络科技有限公司 列表视图的实现方法、装置、可读存储介质及设备
CN108897689B (zh) * 2018-07-03 2022-07-29 深圳Tcl数字技术有限公司 嵌入式应用程序仿真调试方法、设备以及可读存储介质
CN109358833B (zh) * 2018-10-16 2022-03-22 创新先进技术有限公司 一种音频播放方法及系统、一种计算设备及存储介质
CN111459685A (zh) * 2019-01-18 2020-07-28 阿里巴巴集团控股有限公司 页面端与原生端的通信方法、装置、设备及可读介质
CN109901827A (zh) * 2019-03-13 2019-06-18 厦门美图之家科技有限公司 应用交互方法、装置、电子设备及可读存储介质
CN111722936A (zh) * 2019-03-20 2020-09-29 阿里巴巴集团控股有限公司 页面端与原生端的通信方法、装置、电子设备及可读介质
CN109977333B (zh) * 2019-03-22 2020-06-09 北京三快在线科技有限公司 网页显示方法、装置、计算机设备及存储介质
CN110569465B (zh) * 2019-08-27 2022-09-02 上海易点时空网络有限公司 用于客户端应用程序的离线访问方法以及装置
CN110569467B (zh) * 2019-08-27 2022-10-14 上海易点时空网络有限公司 用于客户端应用程序的离线访问方法以及装置
CN110929205A (zh) * 2019-11-13 2020-03-27 贝壳技术有限公司 用于加载网页中的控件的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104954550A (zh) * 2014-03-31 2015-09-30 宏达国际电子股份有限公司 通信方法及通信系统
US9235827B2 (en) * 2012-11-05 2016-01-12 Microsoft Technology Licensing, Llc Notification hardening
CN105357323A (zh) * 2015-12-11 2016-02-24 北京京东尚科信息技术有限公司 一种app中html5页面调试方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9235827B2 (en) * 2012-11-05 2016-01-12 Microsoft Technology Licensing, Llc Notification hardening
CN104954550A (zh) * 2014-03-31 2015-09-30 宏达国际电子股份有限公司 通信方法及通信系统
CN105357323A (zh) * 2015-12-11 2016-02-24 北京京东尚科信息技术有限公司 一种app中html5页面调试方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
React Native之JSBridge;TAT.simplehuang;《www.alloyteam.com/2015/05/react-native-zhi-jsbridge/》;20150510;第1-5页 *
最近火起来的h5app是否已经能够完美转化原生控件;yimiao;《https://segmentfault.com/q/1010000004245375/a-1020000004409117》;20160104;第1页 *

Also Published As

Publication number Publication date
CN105930467A (zh) 2016-09-07

Similar Documents

Publication Publication Date Title
CN105930467B (zh) 一种信息处理方法及电子设备
US10162805B2 (en) Application programming interfaces for content curation
US20170351649A1 (en) Virtual library providing content accessibility irrespective of content format and type
US9471556B2 (en) Collaboration using multiple editors or versions of a feature
US10614155B2 (en) Single page application authoring in a content management system
CN104995601B (zh) 切换到本机网页应用程序及从本机网页应用程序切换离开
US20130263029A1 (en) Instantiable Gesture Objects
US20110145694A1 (en) Method and System for Transforming an Integrated Webpage
US20170173467A1 (en) Technologies for native game experience in web rendering engine
US20210409810A1 (en) Techniques for managing generation and rendering of user interfaces on client devices
KR20150043333A (ko) 선언형 템플릿을 사용하여 컨트롤을 스탬프 아웃하기 위한 사용자 인터페이스 컨트롤 프레임워크
KR20100113071A (ko) 기존 애플리케이션들의 커스터마이징 및 분산을 위한 브라우저-기반 프록시 서버
US11729182B2 (en) Speculative rendering
CN107924318A (zh) 基于web浏览器的桌面和应用远程处理解决方案
JP6104246B2 (ja) コンピューティングデバイスの遠隔事前構成
CN103150658A (zh) 一种面向终端用户的现实增强定制系统及方法
US20180284956A1 (en) Fragmentation and messaging across web applications
CN106951156A (zh) 一种跨平台交互式电子书的实现方法、装置及系统
CN106528120A (zh) 一种通知消息的显示方法以及装置
CN104123155A (zh) 一种基于web的业务系统页面层开发平台及方法
CN111796727A (zh) 一种界面数据处理方法及装置
US11758016B2 (en) Hosted application as web widget toolkit
US20160147741A1 (en) Techniques for providing a user interface incorporating sign language
CN111866508A (zh) 视频处理方法、装置、介质及电子设备
US11456983B2 (en) Interactive operation method, and transmitter machine, receiver machine and interactive operation system using the same

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant