CN105138340B - 一种Native与Web页面的交互方法和系统 - Google Patents
一种Native与Web页面的交互方法和系统 Download PDFInfo
- Publication number
- CN105138340B CN105138340B CN201510587829.0A CN201510587829A CN105138340B CN 105138340 B CN105138340 B CN 105138340B CN 201510587829 A CN201510587829 A CN 201510587829A CN 105138340 B CN105138340 B CN 105138340B
- Authority
- CN
- China
- Prior art keywords
- native
- page
- url link
- web page
- json
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000003993 interaction Effects 0.000 claims abstract description 26
- 230000009471 action Effects 0.000 claims description 27
- 230000002452 interceptive effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000001965 increasing effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Abstract
本发明公开了一种Native与Web页面的交互方法和系统,涉及信息交互技术领域。本发明通过在Native端定制字符串的判断规则,并将该规则写在Web端,这样,Native端就将其能干什么事,接收什么参数,如何处理对应关系等信息全部告知了Web端,则无论Web端如何改变,Native端都会保证可以正确执行业务逻辑,在Web页面频繁变化时,也不需要重新发新版本,从而保证了信息的及时性和可复用性。
Description
技术领域
本发明涉及信息交互技术领域,尤其涉及一种Native与Web页面的交互方法和系统。
背景技术
目前,大部分App通过内嵌Web页以便于快速发布或修改新页面。随着App用户量与日俱增,对Web页面的形式或内容的要求更加复杂,Web页面与Native的交互也更加复杂。因此,如何最小成本的解决复杂的需求和交互成为我们的重要工作和亟待解决的问题。
现有技术中,一般是通过识别字符串的方式来进行Web页面的跳转,根据不同的字符串来进行下一步操作。
判断字符串这种方式虽然能解决交互的部分问题,但是这种方式也存在明显缺点:
首先,字符串的判断规则写在Native端,一旦上线就不能修改Web页面,导致不能及时满足Web页面的新的需求;
其次,Native端不能灵活从Web端读取参数来进行相应操作;
最后,Native端不能通过Web端的灵活配置来控制Native端的行为。
发明内容
本发明的目的在于提供一种Native与Web页面的交互方法和系统,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明采用的技术方案如下:
一种Native与Web页面的交互方法,包括:
S1,Native端定制交互规则,并将该规则存储在Web端;
S2,Native端捕获点击的URL链接;
S3,Native端从Web端获取包含所述交互规则的Json实体;
S4,将URL链接传入所述Json实体,判断是否需要处理此URL链接,如果需要,则执行S5-S7,否则直接跳转到此URL链接对应的Web页面;
S5,根据URL链接,在所述Json实体中获取需要处理此URL链接的规则、参数和/或配置信息;
S6,根据S5获取的规则、参数和/或配置信息呼唤Native页面进行相应处理操作;
S7,调用Native操作。
优选地,S1中所述Native端定制交互规则,根据Native端的性能进行定制。
优选地,所述Native端的性能包括能够执行业务逻辑、能够接收的参数和/或能够处理的对应关系。
其中,S3具体为,Native端执行Web页面中的JS方法,获取包含交互规则的Json实体。
优选地,所述JS方法为:window.AppRule()。
优选地,S4中,所述将URL链接传入所述Json实体,判断是否需要处理此URL链接,根据如下方法进行判断:
当Json中的action Key值是native时,取nativeName Key中的值跳转到对应的APP原生页面;
当Json中的action Key值是push时,取url Key中的值,并跳转到对应的web页面;
当Json中的action Key值是back时,取backCount Key中的值进行返回操作;
当Json实体为空时不处理URL链接,即直接刷新当前web页面。
优选地,S5中,所述需要处理此URL链接的规则、参数和/或配置信息包括:
需要跳转到APP原生页面时包括:
其中,
action:表示要跳转的动作类型,这里为跳转到原生页面;
nativeName:表示要跳转到的页面名称;
params:表示要传给原生页面所需的参数;
callback:表示从原生页面返回至web页面时,自动调取的web页面js方法;
buttons:表示原生页面要显示的功能按钮;
需要跳转到web页面时包括:
action:表示要跳转的动作类型,这里为跳转到web页面;
url:表示要跳转的目标地址;
nativeParams:表示目标地址所需要的参数,需要拼接至URL中,得到最终的目标地址;
params:表示要传给下一个web页面所需的参数;
需要进行返回操作时包括:
action:表示要跳转的动作类型,这里为返回到上级页面;
backCount:表示要返回的层级数,0表示回根页面其他数字返回对应的层级。
一种Native与Web页面的交互系统,包括:
Native端:用于定制交互规则,用于捕获点击的URL链接,还用于将URL链接传入所述Json实体,判断是否需要处理此URL链接,还用于跳转到此URL链接对应的Web页面或根据URL链接,在所述Json实体中获取需要处理此URL链接的规则、参数和/或配置信息,并根据获取到的规则、参数和/或配置信息呼唤Native页面进行相应处理操作,以及进行相应的操作;
Web端:用于存储交互规则,还用于根据URL链接,为Native端提供包含交互规则的Json实体。
本发明的有益效果是:本发明实施例提供的Native与Web页面的交互方法和系统,通过在Native端定制字符串的判断规则,并将该规则写在Web端,这样,Native端就将其能干什么事,接收什么参数,如何处理对应关系等信息全部告知了Web端,则无论Web端如何改变,Native端都会保证可以正确执行业务逻辑,在Web页面频繁变化时,也不需要重新发新版本,从而保证了信息的及时性和可复用性。
附图说明
图1是本发明实施例一提供的Native与Web页面的交互方法流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
本发明实施例中涉及到的技术术语解释如下:
App:应用程序application的缩写;
Native:用App技术编写的应用程序;
Web:网页;
JS:javascript的简称;
Json:一种数据格式。
实施例一
如图1所示,本发明实施例提供了一种Native与Web页面的交互方法,包括:
S1,Native端定制交互规则,并将该规则存储在Web端;
S2,Native端捕获点击的URL链接;
S3,Native端从Web端获取包含所述交互规则的Json实体;
S4,将URL链接传入所述Json实体,判断是否需要处理此URL链接,如果需要,则执行S5-S7,否则直接跳转到此URL链接对应的Web页面;
S5,根据URL链接,在所述Json实体中获取需要处理此URL链接的规则、参数和/或配置信息;
S6,根据S5获取的规则、参数和/或配置信息呼唤Native页面进行相应处理操作;
S7,调用Native操作。
上述方法中,URL链接也可以为对应的JS代码,但是这样一来无论是Web端还是Native端,都要额外编写业务代码,不利于扩展维护。
采用上述方法,使得本发明实施例通过以下方式:
首先,将规则写在了Web端,Native端不存储交互规则,完全交给Web端控制;
其次,Web端可以给Native端需要的参数;
最后,Web端可以告知Native端它需要的参数,并控制Native的行为。
很好的解决了现有技术中存在的问题。
因此,本发明实施例具有以下有益效果:通过在Native端定制字符串的判断规则,并将该规则写在Web端,这样,Native端就将其能干什么事,接收什么参数,如何处理对应关系等信息全部告知了Web端,则无论Web端如何改变,Native端都会保证可以正确执行业务逻辑,在Web页面频繁变化时,也不需要重新发新版本,从而保证了信息的及时性和可复用性。
其中,S1中所述Native端定制交互规则,根据Native端的性能进行定制。
所述Native端的性能包括能够执行业务逻辑、能够接收的参数和/或能够处理的对应关系。
S3具体为,Native端执行Web页面中的JS方法,获取包含交互规则的Json实体。
具体的,所述JS方法为:window.AppRule()。
其中,JS方法提供的JS代码可以跨平台使用。
本发明实施例中,S4中,所述将URL链接传入所述Json实体,判断是否需要处理此URL链接,根据如下方法进行判断:
当Json中的action Key值是native时,取nativeName Key中的值跳转到对应的APP原生页面;
当Json中的action Key值是push时,取url Key中的值,并跳转到对应的web页面;
当Json中的action Key值是back时,取backCount Key中的值进行;返回操作;
当Json实体为空时候不处理URL链接,即直接刷新当前web页面。
本发明实施例中,S5中,所述需要处理此URL链接的规则、参数和/或配置信息包括:
需要跳转到原生页面时包括:
action:表示要跳转的动作类型,这里为跳转到原生页面;
nativeName:表示要跳转到的页面名称;
params:表示要传给原生页面所需的参数;
callback:表示从原生页面返回至web页面时,自动调取的web页面js方法;
buttons:表示原生页面要显示的功能按钮;
需要跳转到web页面时包括:
action:表示要跳转的动作类型,这里为跳转到web页面;
url:表示要跳转的目标地址;
nativeParams:表示目标地址所需要的参数,需要拼接至URL中,得到最终的
目标地址;
params:表示要传给下一个web页面所需的参数;
需要进行返回操作时包括:
action:表示要跳转的动作类型,这里为返回到上级页面;
backCount:表示要返回的层级数,0表示回根页面其他数字返回对应的层级。
实施例二
本发明实施例提供了一种Native与Web页面的交互系统,包括:
Native端:用于定制交互规则,用于捕获点击的URL链接,还用于将URL链接传入所述Json实体,判断是否需要处理此URL链接,还用于跳转到此URL链接对应的Web页面或根据URL链接,在所述Json实体中获取需要处理此URL链接的规则、参数和/或配置信息,并根据获取到的规则、参数和/或配置信息呼唤Native页面进行相应处理操作,以及进行相应的操作;
Web端:用于存储交互规则,还用于根据URL链接,为Native端提供包含交互规则的Json实体。
该交互系统的工作过程同实施例一提供的交互方法,在此不再赘述。
通过采用本发明公开的上述技术方案,得到了如下有益的效果:本发明实施例提供的Native与Web页面的交互方法和系统,通过在Native端定制字符串的判断规则,并将该规则写在Web端,这样,Native端就将其能干什么事,接收什么参数,如何处理对应关系等信息全部告知了Web端,则无论Web端如何改变,Native端都会保证可以正确执行业务逻辑,在Web页面频繁变化时,也不需要重新发新版本,从而保证了信息的及时性和可复用性。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域人员应该理解的是,上述实施例提供的方法步骤的时序可根据实际情况进行适应性调整,也可根据实际情况并发进行。
上述实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,例如:个人计算机、服务器、网络设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,例如:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (2)
1.一种Native与Web页面的交互方法,其特征在于,包括:
S1,Native端定制交互规则,并将该规则存储在Web端;
S2,Native端捕获点击的URL链接;
S3,Native端从Web端获取包含所述交互规则的Json实体;
S4,将所述URL链接传入所述Json实体,判断是否需要处理此URL链接,如果需要,则执行S5-S7,否则直接跳转到此URL链接对应的Web页面;
S5,根据URL链接,在所述Json实体中获取需要处理此URL链接的规则、参数和/或配置信息;
S6,根据S5获取的规则、参数和/或配置信息呼唤Native页面进行相应处理操作;
S7,调用Native操作;
S1中所述Native端定制交互规则,根据Native端的性能进行定制;
所述Native端的性能包括能够执行业务逻辑、能够接收的参数和/或能够处理的对应关系;
S3具体为,Native端执行Web页面中的JS方法,获取包含交互规则的Json实体;
所述JS方法为:window.AppRule();
S4中,所述将所述URL链接传入所述Json实体,判断是否需要处理此URL链接,根据如下方法进行判断:
当Json中的action Key值是native时,取nativeName Key中的值跳转到对应的APP原生页面;
当Json中的action Key值是push时,取url Key中的值,并跳转到对应的web页面;
当Json中的action Key值是back时,取backCount Key中的值进行返回操作;
当Json实体为空时不处理URL链接,即直接刷新当前web页面;
S5中,所述需要处理此URL链接的规则、参数和/或配置信息包括:
需要跳转到APP原生页面时包括:
action:表示要跳转的动作类型,这里为跳转到原生页面;
nativeName:表示要跳转到的页面名称;
params:表示要传给原生页面所需的参数;
callback:表示从原生页面返回至web页面时,自动调取的web页面js方法;
buttons:表示原生页面要显示的功能按钮;
需要跳转到web页面时包括:
action:表示要跳转的动作类型,这里为跳转到web页面;
url:表示要跳转的目标地址;
nativeParams:表示目标地址所需要的参数,需要拼接至URL中,得到最终的目标地址;
params:表示要传给下一个web页面所需的参数;
需要进行返回操作时包括:
action:表示要跳转的动作类型,这里为返回到上级页面;
backCount:表示要返回的层级数,0表示回根页面其他数字返回对应的层级。
2.一种Native与Web页面的交互系统,其特征在于,采用权利要求1所述的Native与Web页面的交互方法,包括:
Native端:用于定制交互规则,用于捕获点击的URL链接,还用于将URL链接传入所述Json实体,判断是否需要处理此URL链接,还用于跳转到此URL链接对应的Web页面或根据URL链接,在所述Json实体中获取需要处理此URL链接的规则、参数和/或配置信息,并根据获取到的规则、参数和/或配置信息呼唤Native页面进行相应处理操作,以及进行相应的操作;
Web端:用于存储交互规则,还用于根据URL链接,为Native端提供包含交互规则的Json实体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510587829.0A CN105138340B (zh) | 2015-09-15 | 2015-09-15 | 一种Native与Web页面的交互方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510587829.0A CN105138340B (zh) | 2015-09-15 | 2015-09-15 | 一种Native与Web页面的交互方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105138340A CN105138340A (zh) | 2015-12-09 |
CN105138340B true CN105138340B (zh) | 2019-04-02 |
Family
ID=54723698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510587829.0A Active CN105138340B (zh) | 2015-09-15 | 2015-09-15 | 一种Native与Web页面的交互方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105138340B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105718512A (zh) * | 2016-01-13 | 2016-06-29 | 北京齐尔布莱特科技有限公司 | 一种在Ios系统中利用JS语言调用原生语言的方法 |
CN106971298A (zh) * | 2016-01-14 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 支付方法、系统、支付转换方法以及支付转换装置 |
CN105955723B (zh) * | 2016-04-21 | 2019-03-15 | 人人行科技股份有限公司 | 移动端的跨平台应用处理方法和装置 |
CN107526579A (zh) * | 2016-06-22 | 2017-12-29 | 中兴通讯股份有限公司 | 一种应用程序页面开发管理方法及装置 |
CN106371830A (zh) * | 2016-08-25 | 2017-02-01 | 北京量科邦信息技术有限公司 | 一种实现原生app和web页面关闭及后退控制的交互方法 |
CN107656768B (zh) * | 2017-09-13 | 2021-01-26 | 北京京东尚科信息技术有限公司 | 控制页面跳转的方法及其系统 |
CN107798064B (zh) * | 2017-09-19 | 2020-04-28 | 深圳壹账通智能科技有限公司 | 页面处理方法、电子设备及计算机可读存储介质 |
CN107844324B (zh) * | 2017-10-23 | 2021-11-02 | 北京京东尚科信息技术有限公司 | 客户端页面跳转处理方法和装置 |
CN108563668A (zh) * | 2018-01-08 | 2018-09-21 | 武汉斗鱼网络科技有限公司 | Hybrid页面跳转H5页面的方法、装置及终端设备 |
CN109062626A (zh) * | 2018-07-09 | 2018-12-21 | 北京奇艺世纪科技有限公司 | Web页面组件与Native组件的交互方法、装置及设备 |
CN109740090A (zh) * | 2018-12-25 | 2019-05-10 | 南京天溯自动化控制系统有限公司 | 一种基于混合开发的android页面返回跳转方法及其系统 |
CN113448654B (zh) * | 2020-12-07 | 2024-03-01 | 北京新氧科技有限公司 | web应用程序与原生应用程序的交互方法及装置 |
CN114924816B (zh) * | 2022-04-08 | 2023-06-09 | 青岛海尔科技有限公司 | 一种页面跳转方法、存储介质及电子装置 |
CN114924910B (zh) * | 2022-05-17 | 2023-11-03 | 江苏迈步信息科技有限公司 | 一种基于分布式存储系统的超融合数据管理的处理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622266A (zh) * | 2012-02-14 | 2012-08-01 | 中国民航信息网络股份有限公司 | 一种移动应用html和native交互系统及其方法 |
CN102945169A (zh) * | 2012-12-05 | 2013-02-27 | 江苏鸿信系统集成有限公司 | 一种基于Android的Native APP融合Web APP开发系统 |
CN103106102A (zh) * | 2013-01-14 | 2013-05-15 | 百度在线网络技术(北京)有限公司 | 一种web应用程序的运行方法及移动终端 |
CN104461575A (zh) * | 2014-12-26 | 2015-03-25 | 北京华电万通科技有限公司 | 一种网页脚本语言跨移动操作系统平台原生接口调用的装置及方法 |
-
2015
- 2015-09-15 CN CN201510587829.0A patent/CN105138340B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622266A (zh) * | 2012-02-14 | 2012-08-01 | 中国民航信息网络股份有限公司 | 一种移动应用html和native交互系统及其方法 |
CN102945169A (zh) * | 2012-12-05 | 2013-02-27 | 江苏鸿信系统集成有限公司 | 一种基于Android的Native APP融合Web APP开发系统 |
CN103106102A (zh) * | 2013-01-14 | 2013-05-15 | 百度在线网络技术(北京)有限公司 | 一种web应用程序的运行方法及移动终端 |
CN104461575A (zh) * | 2014-12-26 | 2015-03-25 | 北京华电万通科技有限公司 | 一种网页脚本语言跨移动操作系统平台原生接口调用的装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105138340A (zh) | 2015-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105138340B (zh) | 一种Native与Web页面的交互方法和系统 | |
CN110046101B (zh) | 页面自动化测试方法、装置及计算机存储介质 | |
CN106897347A (zh) | 一种网页展示方法、操作事件记录方法及装置 | |
CN105573733A (zh) | 浏览器与web前端通信的方法、web前端及系统 | |
CN107678872A (zh) | 电子白板的处理方法及装置 | |
CN106227743B (zh) | 广告目标群体触达比率评估方法及装置 | |
CN103838720B (zh) | 页面文件载入执行方法和装置 | |
CN109683773A (zh) | 语料标注方法和装置 | |
JP6447726B2 (ja) | カードの追加方法、装置、デバイス及びコンピュータ記憶媒体 | |
CN108170609A (zh) | 程序漏洞的定位方法、装置、计算机设备及可读存储介质 | |
CN108366098A (zh) | 一种网络节点的数据交互方法及装置 | |
CN108153731B (zh) | 生僻字处理方法、计算设备及计算机存储介质 | |
CN110069247A (zh) | 一种应用程序的开发方法及装置、使用方法及装置 | |
CN102255825A (zh) | 一种可扩展的交互式通讯方法及系统 | |
CN110019260B (zh) | 一种用户数据的更新方法及相关设备 | |
CN105426183B (zh) | 一种表单验证方法 | |
CN103838575A (zh) | 一种基于extjs框架的插件式页面定制实现方法 | |
CN104079632A (zh) | 一种第三方业务的处理方法及设备 | |
US20130295547A1 (en) | Interactive Study Aids For Use In Association With Text Books | |
CN108875374B (zh) | 基于文档节点类型的恶意pdf检测方法及装置 | |
CN104281370B (zh) | 一种网页窗口关闭方法及装置 | |
CN113051333B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN103810278B (zh) | 终端的网页处理方法及装置 | |
CN105577904B (zh) | 一种文件共享方法及移动终端 | |
CN103955515B (zh) | 双核浏览器的处理方法及装置 |
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 |