CN112905940A - 页面通讯方法、装置、计算机设备以及存储介质 - Google Patents
页面通讯方法、装置、计算机设备以及存储介质 Download PDFInfo
- Publication number
- CN112905940A CN112905940A CN202110214636.6A CN202110214636A CN112905940A CN 112905940 A CN112905940 A CN 112905940A CN 202110214636 A CN202110214636 A CN 202110214636A CN 112905940 A CN112905940 A CN 112905940A
- Authority
- CN
- China
- Prior art keywords
- mapping
- communication data
- communication
- page
- characters
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 457
- 238000000034 method Methods 0.000 title claims abstract description 320
- 238000013507 mapping Methods 0.000 claims abstract description 395
- 230000015654 memory Effects 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 abstract description 19
- 238000003491 array Methods 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000000586 desensitisation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种页面通讯方法,包括:在第一通讯页面接收到由第二通讯页面发送过来的原始通讯数据之后,判断所述原始通讯数据是否包括映射通讯数据;当判断出所述原始通讯数据包括所述映射通讯数据时,根据预设在所述映射通讯数据中的映射标识字符,确定出所述映射通讯数据所包含的映射名称字符;从预设的映射数据集合中查找出所述映射名称字符对应的映射内容字符,以作为所述第一通讯页面和所述第二通讯页面之间的通讯数据。可见,本发明能够在第一通讯页面和第二通讯页面之间实现复杂的参数信息(如,方法、数组)的传递。本发明还涉及区块链技术领域。
Description
技术领域
本发明涉及网页配置领域,尤其涉及一种页面通讯方法、装置、计算机设备以及存储介质。
背景技术
现今,互联网技术的普及为人们获取信息带来了极大的便利。互联网用户可以通过浏览器载入不同的网页来从互联网上获取各种各样的信息。实际应用中,许多网页(父页面)会通过iframe的方式嵌入另一个子页面,以实现向互联网用户展示更多的信息,例如,许多网页附带的广告弹窗就是一种以iframe方式嵌入的子页面。这种以iframe方式嵌入的子页面与父页面是相对独立的,但是子页面和父页面之间难免会出现数据交互的需求,此时,则需要进行父子页面之间页面通讯。目前,较为常用的页面通讯方法是通过能够在父子页面之间传递的url来实现父子页面之间的页面通讯,父页面可以将想要传递给子页面的参数附带在父页面发送给子页面的url的后面,以实现将参数传递至子页面,同理,子页面也可以将想要传递给父页面的参数附带在子页面发送给父页面的url的后面,以实现将参数传递至父页面。但是,由于url的长度有一定的限制、过长的url会被截断、url只能通过get方式传递等原因,这种页面通讯方法只能实现简单的参数信息(如,字符串、数值)的传递,未能实现复杂的参数信息(如,方法、数组)的传递。
发明内容
本发明所要解决的技术问题在于,目前的页面通讯方法只能实现简单的参数信息(如,字符串、数值)的传递,未能实现复杂的参数信息(如,方法、数组)的传递。
为了解决上述技术问题,本发明第一方面公开了一种页面通讯方法,所述方法包括:
在第一通讯页面接收到由第二通讯页面发送过来的原始通讯数据之后,判断所述原始通讯数据是否包括映射通讯数据,所述映射通讯数据是指需要执行预设的映射操作后才能够获得能够作为所述第一通讯页面和所述第二通讯页面之间的通讯数据的原始通讯数据;
当判断出所述原始通讯数据包括所述映射通讯数据时,根据预设在所述映射通讯数据中的映射标识字符,确定出所述映射通讯数据所包含的映射名称字符;
从预设的映射数据集合中查找出所述映射名称字符对应的映射内容字符,以作为所述第一通讯页面和所述第二通讯页面之间的通讯数据。
本发明第二方面公开了一种页面通讯装置,所述装置包括:
判断模块,用于在第一通讯页面接收到由第二通讯页面发送过来的原始通讯数据之后,判断所述原始通讯数据是否包括映射通讯数据,所述映射通讯数据是指需要执行预设的映射操作后才能够获得能够作为所述第一通讯页面和所述第二通讯页面之间的通讯数据的原始通讯数据;
确定模块,用于当所述判断模块判断出所述原始通讯数据包括所述映射通讯数据时,根据预设在所述映射通讯数据中的映射标识字符,确定出所述映射通讯数据所包含的映射名称字符;
查找模块,用于从预设的映射数据集合中查找出所述映射名称字符对应的映射内容字符,以作为所述第一通讯页面和所述第二通讯页面之间的通讯数据。
本发明第三方面公开了一种计算机设备,所述计算机设备包括:
存储有可执行程序代码的存储器;
与所述存储器连接的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的页面通讯方法中的部分或全部步骤。
本发明第四方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的页面通讯方法中的部分或全部步骤。
本发明实施例中,在进行第一通讯页面和第二通讯页面之间的通讯时,在第一通讯页面和第二通讯页面之间的原始通讯数据中设置映射通讯数据,然后根据预设的映射通讯数据从预设的映射数据集合中查找出对应的映射内容字符,作为第一通讯页面和第二通讯页面之间的通讯数据,从而能够在第一通讯页面和第二通讯页面之间实现复杂的参数信息(如,方法、数组)的传递。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种页面通讯方法的流程示意图;
图2是本发明实施例公开的一种页面通讯装置的结构示意图;
图3是本发明实施例公开的一种计算机设备的结构示意图;
图4是本发明实施例公开的一种计算机存储介质的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或端没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或端固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明公开了一种页面通讯方法、装置、计算机设备以及存储介质,能够在进行第一通讯页面和第二通讯页面之间的通讯时,在第一通讯页面和第二通讯页面之间的原始通讯数据中设置映射通讯数据,然后根据预设的映射通讯数据从预设的映射数据集合中查找出对应的映射内容字符,作为第一通讯页面和第二通讯页面之间的通讯数据,从而能够在第一通讯页面和第二通讯页面之间实现复杂的参数信息(如,方法、数组)的传递。以下分别进行详细说明。
实施例一
请参阅图1,图1是本发明实施例公开的一种页面通讯方法的流程示意图。如图1所示,该页面通讯方法可以包括以下操作:
101、在第一通讯页面接收到由第二通讯页面发送过来的原始通讯数据之后,判断所述原始通讯数据是否包括映射通讯数据,所述映射通讯数据是指需要执行预设的映射操作后才能够获得能够作为所述第一通讯页面和所述第二通讯页面之间的通讯数据的原始通讯数据;
102、当判断出所述原始通讯数据包括所述映射通讯数据时,根据预设在所述映射通讯数据中的映射标识字符,确定出所述映射通讯数据所包含的映射名称字符;
103、从预设的映射数据集合中查找出所述映射名称字符对应的映射内容字符,以作为所述第一通讯页面和所述第二通讯页面之间的通讯数据。
本发明实施例中,第一通讯页面、第二通讯页面可以是指即将进行数据通讯的页面(页面可以是指H5页面或者web页面)。可以在第一通讯页面初始化时,在第一通讯页面中添加一个监听器message,监听器message用于监听第二通讯页面向第一通讯页面上传的原始通讯数据。当第二通讯页面需要向第一通讯页面上传数据时,可以通过H5中postmessage这一api向第一通讯页面上传原始通讯数据。当第二通讯页面通过postmessage这一api向第一通讯页面上传原始通讯数据之后,第一通讯页面即可以通过监听器message监听接收到第二通讯页面上传的原始通讯数据。由于postmessage这一api能够支持字符串和数值的传递,所以这样已能够简单的参数信息的传递。要进一步地实现复杂的参数信息(如,方法、数组)的传递,则需要进行进一步的设置,以下进行具体说明:
Postmessage只能实现数值和字符型数据的传输,要实现使用postmessage来进行方法或者数组等复杂数据的传输,则可以为想要传递的方法或者数组命名一个唯一的名称(即映射名称字符),然后将想要传递的方法或者数组的具体内容(即映射内容字符)存储在预先设置的位置(如,页面对应的内存中),并建立起方法或者数组的具体内容与唯一的名称的映射关系,最后,将方法或者数组对应的名称通过postmessage进行传递(名称一般是由多个字符组成的,所以名称可以通过postmessage进行传递),在页面接收到由postmessage传递过来的方法或者数组对应的名称之后,执行预设的映射操作(即通过预先建立起的映射关系查找到方法或者数组的名称对应的具体内容,将查找到的方法或者数组的具体内容作为页面之间的通讯数据),这样即能够实现在页面之间传递方法或者数组。映射名称字符中还可以设置有映射标识字符,映射标识字符用于区分映射名称字符和普通的字符。例如,第二通讯页面通过postmessage向第一通讯页面传递的原始通讯数据为“funcAabcde”,其中,“func”为映射标识字符,“funcA”为要传递的方法名称(即映射名称字符),“abcde”为要传递的一般字符型数据。假设,用于存储方法的名称和具体内容的映射关系的方法映射表中,数据结构如下:
则可以查找对“funcA”方法对应的具体内容为“function(){console.log(‘Thisis Func A’)”。“abcde”为要传递的一般字符型数据,保持不变。所以,最后得到的第二通讯页面向第一通讯页面传递的通讯数据为“function(){console.log(‘This is Func A’)”和“abcde”。这样即实现了在第一通讯页面和第二通讯页面之间传递方法“funcA”。
可见,实施图1所描述的页面通讯方法,能够在进行第一通讯页面和第二通讯页面之间的通讯时,在第一通讯页面和第二通讯页面之间的原始通讯数据中设置映射通讯数据,然后根据预设的映射通讯数据从预设的映射数据集合中查找出对应的映射内容字符,作为第一通讯页面和第二通讯页面之间的通讯数据,从而能够在第一通讯页面和第二通讯页面之间实现复杂的参数信息(如,方法、数组)的传递。
在一个可选的实施例中,所述映射通讯数据包括方法类映射通讯数据和/或数组类映射通讯数据,所述映射标识字符包括方法类映射标识字符和/或数组类映射标识字符,所述映射名称字符包括方法类映射名称字符和/或数组类映射名称字符,所述映射数据集合包括方法类映射数据集合和/或数组类映射数据集合,所述映射内容字符包括方法类映射内容字符和/或数组类映射内容字符;
以及,所述根据预设在所述映射通讯数据中的映射标识字符,确定出所述映射通讯数据所包含的映射名称字符,包括:
当所述映射通讯数据包括所述方法类映射通讯数据时,根据预设在所述方法类映射通讯数据中的方法类映射标识字符,确定出所述方法类映射通讯数据所包含的方法类映射名称字符;
当所述映射通讯数据包括所述数组类映射通讯数据时,根据预设在所述数组类映射通讯数据中的数组类映射标识字符,确定出所述数组类映射通讯数据所包含的数组类映射名称字符;
以及,所述从预设的映射数据集合中查找出所述映射名称字符对应的映射内容字符,以作为所述第一通讯页面和所述第二通讯页面之间的通讯数据,包括:
当所述映射通讯数据包括所述方法类映射通讯数据时,从预设的方法类映射数据集合中查找出所述方法类映射名称字符对应的方法类映射内容字符,以作为所述第一通讯页面和所述第二通讯页面之间的通讯数据;
当所述映射通讯数据包括所述数组类映射通讯数据时,从预设的数组类映射数据集合中查找出所述数组类映射名称字符对应的数组类映射内容字符,以作为所述第一通讯页面和所述第二通讯页面之间的通讯数据。
在该可选的实施例中,可以实现页面之间进行方法或者数组的传递。以下分别针对方法的传递过程和数组的传递过程进行说明:
方法类映射通讯数据、方法类映射标识字符、方法类映射名称字符、方法类映射数据集合是指在第一通讯页面和第二通讯页面进行方法的传递时所使用的映射通讯数据、映射标识字符(如,“func”)、映射名称字符(如,“funcA”)和映射数据集合(如,上述的方法映射表)。数组类映射通讯数据、数组类映射标识字符、数组类映射名称字符、数组类映射数据集合是指在第一通讯页面和第二通讯页面进行数组的传递时所使用的映射通讯数据、映射标识字符(如,“array”)、映射名称字符(如,“array_a”)和映射数据集合(如,下述的数组映射表)。
在进行方法的传递过程中,假设要传递的方法名称为“funcA”,可以将字符“funcA_1”作为方法类映射通讯数据设置在原始通讯数据中,其中,字符“_1”可以是预设在方法类映射通讯数据中的方法类映射标识字符,通过“_1”字符将字符“funcA_1”与普通的字符区分开来,表明“funcA_1”字符是方法类映射通讯数据。“funcA_1”字符去除字符“_1”,即能够得到对应的方法类映射名称字符“funcA”,方法类映射名称字符“funcA”用于表示将要传递的方法名称为“funcA”。然后即可以根据方法类映射名称字符“funcA”从预设的方法类映射数据集合中确定出对应的方法类映射内容字符,以作为通讯数据。预设的方法类映射数据集合可以是存储在上述的方法映射表中。
在进行数组的传递过程中,假设要传递的数组名称为“array_a”,可以将字符“array_a”作为数组类映射通讯数据设置在原始通讯数据中,其中,字符“array”可以是预设在数组类映射通讯数据中的数组类映射标识字符,通过“array”字符将字符“array_a”与普通的字符区分开来,表明“array_a”字符是数组类映射通讯数据。可以将“array_a”字符直接作为数组类映射名称字符,数组类映射名称字符“array_a”用于表示将要传递的数组名称为““array_a”。然后即可以根据数组类映射名称字符“array_a”从预设的数组类映射数据集合中确定出对应的数组类映射内容字符,以作为通讯数据。预设的数组类映射数据集合可以是存储在数组映射表中。例如,数组映射表为:
,则确定出的对应的数组类映射内容字符为“1 2 3 4 5 5”。
可见,实施该可选的实施例,能够对映射通讯数据中所包含的方法类映射通讯数据和数组类映射通讯数据分别执行不同的映射处理,得到相应的通讯数据,从而能够在第一通讯页面和第二通讯页面之间实现方法和数组的传递。
在一个可选的实施例中,所述方法类映射标识字符为预设的方法名称字符;
以及,所述根据预设在所述方法类映射通讯数据中的方法类映射标识字符,确定出所述方法类映射通讯数据所包含的方法类映射名称字符,包括:
查找所述方法类映射通讯数据中包含所述方法名称字符的目标字符串;
将查找到的所述目标字符串所包含的字符作为所述方法类映射通讯数据对应的方法类映射名称字符。
在该可选的实施例中,可以将需要传递的方法的名称按照预先约定的方式进行命名,例如,需要传递方法A,则可以将方法A的名称命名为“funcA”,需要传递方法B,则可以将方法B的名称命名为“funcB”。然后,将方法类映射标识字符预设为特定的方法名称字符“func”,这样即能够通过字符“func”查找方法类映射通讯数据中所包含的方法的名称(即方法类映射名称字符)。例如,方法类映射通讯数据为“%1232sajfm funcA hjksh”,其中,字符串“%1232sajfm”、“funcA”和“hjksh”中只有字符串“funcA”包含方法名称字符“func”,所以可以确定出“funcA”为方法类映射通讯数据中所包含的方法的名称(即方法类映射名称字符)。
可见,实施该可选的实施例,通过查找方法类映射通讯数据中的方法名称字符,实现从方法类映射通讯数据中提取出方法类映射名称字符,从而能够在第一通讯页面和第二通讯页面之间实现方法的传递。
在一个可选的实施例中,所述方法类映射标识字符为预设的方法定位起始字符和方法定位终止字符;
以及,所述根据预设在所述方法类映射通讯数据中的方法类映射标识字符,确定出所述方法类映射通讯数据所包含的方法类映射名称字符,包括:
查找所述方法类映射通讯数据中的所述方法定位起始字符和所述方法定位终止字符;
将查找到的所述方法定位起始字符和所述方法定位终止字符之间的字符作为所述方法类映射通讯数据对应的方法类映射名称字符。
在该可选的实施例中,可以预先设置方法定位起始字符和方法定位终止字符为指定的字符,如方法定位起始字符和方法定位终止字符分别预设为“//”和“\\”,当需要传递指定的方法时,将需要传递的方法的方法名称设置在方法类映射通讯数据的方法定位起始字符和方法定位终止字符之间,这样,在接收到方法类映射通讯数据之后,可以通过方法定位起始字符和方法定位终止字符定位该方法类映射通讯数据所包含的方法名称(即方法类映射名称字符)。例如,方法类映射通讯数据为“%1232sajfm//funcA\\hjksh”,其中,“//”字符和“\\”字符之间的字符为“funcA”,所以可以确定出“funcA”为方法类映射通讯数据中所包含的方法的名称(即方法类映射名称字符)。
可见,实施该可选的实施例,通过查找方法类映射通讯数据中的方法定位起始字符和方法定位终止字符,实现从方法类映射通讯数据中提取出方法类映射名称字符,从而能够在第一通讯页面和第二通讯页面之间实现方法的传递。
可选地,数组类映射名称字符的确定过程可以与方法类映射名称字符的确定过程类似,为避免重复,不再一一赘述。
在一个可选的实施例中,所述从预设的方法类映射数据集合中查找出所述方法类映射名称字符对应的方法类映射内容字符,以作为所述第一通讯页面和所述第二通讯页面之间的通讯数据之后,所述方法还包括:
将所述通讯数据所包含的方法类映射内容字符输入至eval函数;
将所述通讯数据所包含的方法类映射内容字符添加至所述第一通讯页面对应的内存中;
将所述通讯数据所包含的方法类映射内容字符挂载在所述第一通讯页面对应的windows对象中,以实现执行所述通讯数据所包含的方法类映射内容字符中所记录的方法。
在该可选的实施例中,在获取到对应的方法类映射内容字符之后,通常无法直接执行方法类映射内容字符中所记载的方法。此时,需要将方法类映射内容字符输入至eval函数、添加至第一通讯页面的内存、挂载在第一通讯页面的windows对象中,才能够执行方法类映射内容字符中所记载的方法。例如,要执行方法funcA,需要对应的方法类映射内容字符“function(){console.log(‘This is Func A’)”输入至eval函数、添加至第一通讯页面的内存、挂载在第一通讯页面的windows对象中,才能够实现在在控制台输出‘This isFunc A’的信息。其中,eval函数能够将输入至eval函数中的字符串传递至JS解释器,由JS解释器将所输入的字符串解释成Javascript代码,并且执行解释得到的Javascript代码,这样即能够实现执行字符中所记载的方法。
可见,实施该可选的实施例,通过将得到的方法类映射内容字符输入至eval函数,并完成执行方法所需要的设置,能够实现执行方法类映射内容字符中所记载的方法。
在一个可选的实施例中,所述判断所述原始通讯数据是否包括映射通讯数据,包括:
判断所述原始通讯数据是否包括所述方法类映射标识字符和所述数组类映射标识字符中的任意一种;
当判断出所述原始通讯数据包括所述方法类映射标识字符和所述数组类映射标识字符中的任意一种时,确定所述原始通讯数据包括映射通讯数据;
当判断出所述原始通讯数据未包括所述方法类映射标识字符和所述数组类映射标识字符中的任意一种时,确定所述原始通讯数据未包括所述映射通讯数据。
在该可选的实施例中,可以通过判断原始通讯数据中是否包含方法类映射标识字符(如,“func”)和数组类映射标识字符(如,“array”)中的任意一种,来确定出原始通讯数据是否包括映射通讯数据。若原始通讯数据未包括映射通讯数据,则将原始通讯数据作为正常的通讯数据处理,若原始通讯数据包括映射通讯数据,则对所包括的映射通讯数据进行预设的映射操作,得到相应的映射数据。
可见,实施该可选的实施例,通过判断原始通讯数据是否包括方法类映射标识字符和数组类映射标识字符中的任意一种,来确定原始通讯数据是否包括映射通讯数据,能够准确地判断出原始通讯数据中是否携带有需要传递的方法或者数组,从而能够为在第一通讯页面和第二通讯页面之间实现方法或者数组的传递提供基础。
在一个可选的实施例中,所述当所述映射通讯数据包括所述方法类映射通讯数据时,根据预设在所述方法类映射通讯数据中的方法类映射标识字符,确定出所述方法类映射通讯数据所包含的方法类映射名称字符之后,所述从预设的方法类映射数据集合中查找出所述方法类映射名称字符对应的方法类映射内容字符,以作为所述第一通讯页面和所述第二通讯页面之间的通讯数据之前,所述方法还包括:
判断预设的方法白名单列表中是否存在所述方法类映射名称字符;
当判断出所述方法白名单列表中存在所述方法类映射名称字符时,触发执行所述从预设的方法类映射数据集合中查找出所述方法类映射名称字符对应的方法类映射内容字符,以作为所述第一通讯页面和所述第二通讯页面之间的通讯数据的操作。
在该可选的实施例中,由于postmessage的公开性,使用postmessage实现页面间的通讯会存在一定的安全风险。为提高页面之间通讯的安全性,可以预先设置方法白名单列表,只有在方法白名单列表中的方法出现在原始通讯数据中才会被执行预设的映射操作,得到对应的映射内容作为页面之间的通讯数据。若原始通讯数据中的方法不在方法白名单列表中,则不对其执行预设的映射操作。例如,方法白名单列表中包含有方法funcA、funcB和funcC。若原始通讯数据中包括方法funcA和funcD,则只对funcA执行预设的映射操作得到对应的映射内容,而不对funcD执行预设的映射操作。
可选地,为提高页面通讯的安全性,可以对原始通讯数据进行AES加密,避免原始通讯数据暴露在数据传输的过程中,也可以通过页面的url、origin属性或者source属性对页面的来源进行验证,还可以对原始通讯数据进行脱敏操作等。
可见,实施该可选的实施例,通过预先建立起方法白名单,并且只对原始通讯数据中的方法白名单中的方法执行预设的映射操作,得到相应的映射内容作为页面之间的通讯数据,从而能够提高页面之间通讯的安全性。
可选地,还可以:将所述页面通讯方法的通讯信息上传至区块链中。
具体来说,通讯信息是通过运行所述页面通讯方法后得到的,用于记录页面通讯情况,例如,原始通讯数据的接收时间、确定出的映射标识字符、确定出的映射名称字符、确定出的映射内容字符、第一通讯页面和第二通讯页面的url等等。将通讯信息上传至区块链可保证其安全性和对用户的公正透明性。用户可以从区块链中下载得到该通讯信息,以便查证所述页面通讯方法的通讯信息是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
可见,实施本发明实施例所公开的页面通讯方法,在进行第一通讯页面和第二通讯页面之间的通讯时,在第一通讯页面和第二通讯页面之间的原始通讯数据中设置映射通讯数据,然后根据预设的映射通讯数据从预设的映射数据集合中查找出对应的映射内容字符,作为第一通讯页面和第二通讯页面之间的通讯数据,从而能够在第一通讯页面和第二通讯页面之间实现复杂的参数信息(如,方法、数组)的传递。还能够对映射通讯数据中所包含的方法类映射通讯数据和数组类映射通讯数据分别执行不同的映射处理,得到相应的通讯数据。还通过查找方法类映射通讯数据中的方法名称字符,实现从方法类映射通讯数据中提取出方法类映射名称字符。还通过查找方法类映射通讯数据中的方法定位起始字符和方法定位终止字符,实现从方法类映射通讯数据中提取出方法类映射名称字符。还通过将得到的方法类映射内容字符输入至eval函数,并完成执行方法所需要的设置,能够实现执行方法类映射内容字符中所记载的方法。还通过判断原始通讯数据是否包括方法类映射标识字符和数组类映射标识字符中的任意一种,来确定原始通讯数据是否包括映射通讯数据,能够准确地判断出原始通讯数据中是否携带有需要传递的方法或者数组。还通过预先建立起方法白名单,并且只对原始通讯数据中的方法白名单中的方法执行预设的映射操作,得到相应的映射内容作为页面之间的通讯数据,从而能够提高页面之间通讯的安全性。
实施例二
请参阅图2,图2是本发明实施例公开的一种页面通讯装置的结构示意图。如图2所示,该页面通讯装置可以包括:
判断模块201,用于在第一通讯页面接收到由第二通讯页面发送过来的原始通讯数据之后,判断所述原始通讯数据是否包括映射通讯数据,所述映射通讯数据是指需要执行预设的映射操作后才能够获得能够作为所述第一通讯页面和所述第二通讯页面之间的通讯数据的原始通讯数据;
确定模块202,用于当所述判断模块201判断出所述原始通讯数据包括所述映射通讯数据时,根据预设在所述映射通讯数据中的映射标识字符,确定出所述映射通讯数据所包含的映射名称字符;
查找模块203,用于从预设的映射数据集合中查找出所述映射名称字符对应的映射内容字符,以作为所述第一通讯页面和所述第二通讯页面之间的通讯数据。
对于上述页面通讯装置的具体描述可以参照上述页面通讯方法的具体描述,在此不再一一赘述。
实施例三
请参阅图3,图3是本发明实施例公开的一种计算机设备的结构示意图。如图3所示,该计算机设备可以包括:
存储有可执行程序代码的存储器301;
与存储器301连接的处理器302;
处理器302调用存储器301中存储的可执行程序代码,执行本发明实施例一公开的页面通讯方法中的步骤。
实施例四
本发明实施例公开了一种计算机存储介质401,计算机存储介质401存储有计算机指令,该计算机指令被调用时,用于执行本发明实施例一公开的页面通讯方法中的步骤。
以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种页面通讯方法、装置、计算机设备以及存储介质所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。
Claims (10)
1.一种页面通讯方法,其特征在于,所述方法包括:
在第一通讯页面接收到由第二通讯页面发送过来的原始通讯数据之后,判断所述原始通讯数据是否包括映射通讯数据,所述映射通讯数据是指需要执行预设的映射操作后才能够获得能够作为所述第一通讯页面和所述第二通讯页面之间的通讯数据的原始通讯数据;
当判断出所述原始通讯数据包括所述映射通讯数据时,根据预设在所述映射通讯数据中的映射标识字符,确定出所述映射通讯数据所包含的映射名称字符;
从预设的映射数据集合中查找出所述映射名称字符对应的映射内容字符,以作为所述第一通讯页面和所述第二通讯页面之间的通讯数据。
2.根据权利要求1所述的页面通讯方法,其特征在于,所述映射通讯数据包括方法类映射通讯数据和/或数组类映射通讯数据,所述映射标识字符包括方法类映射标识字符和/或数组类映射标识字符,所述映射名称字符包括方法类映射名称字符和/或数组类映射名称字符,所述映射数据集合包括方法类映射数据集合和/或数组类映射数据集合,所述映射内容字符包括方法类映射内容字符和/或数组类映射内容字符;
以及,所述根据预设在所述映射通讯数据中的映射标识字符,确定出所述映射通讯数据所包含的映射名称字符,包括:
当所述映射通讯数据包括所述方法类映射通讯数据时,根据预设在所述方法类映射通讯数据中的方法类映射标识字符,确定出所述方法类映射通讯数据所包含的方法类映射名称字符;
当所述映射通讯数据包括所述数组类映射通讯数据时,根据预设在所述数组类映射通讯数据中的数组类映射标识字符,确定出所述数组类映射通讯数据所包含的数组类映射名称字符;
以及,所述从预设的映射数据集合中查找出所述映射名称字符对应的映射内容字符,以作为所述第一通讯页面和所述第二通讯页面之间的通讯数据,包括:
当所述映射通讯数据包括所述方法类映射通讯数据时,从预设的方法类映射数据集合中查找出所述方法类映射名称字符对应的方法类映射内容字符,以作为所述第一通讯页面和所述第二通讯页面之间的通讯数据;
当所述映射通讯数据包括所述数组类映射通讯数据时,从预设的数组类映射数据集合中查找出所述数组类映射名称字符对应的数组类映射内容字符,以作为所述第一通讯页面和所述第二通讯页面之间的通讯数据。
3.根据权利要求2所述的页面通讯方法,其特征在于,所述方法类映射标识字符为预设的方法名称字符;
以及,所述根据预设在所述方法类映射通讯数据中的方法类映射标识字符,确定出所述方法类映射通讯数据所包含的方法类映射名称字符,包括:
查找所述方法类映射通讯数据中包含所述方法名称字符的目标字符串;
将查找到的所述目标字符串所包含的字符作为所述方法类映射通讯数据对应的方法类映射名称字符。
4.根据权利要求2所述的页面通讯方法,其特征在于,所述方法类映射标识字符为预设的方法定位起始字符和方法定位终止字符;
以及,所述根据预设在所述方法类映射通讯数据中的方法类映射标识字符,确定出所述方法类映射通讯数据所包含的方法类映射名称字符,包括:
查找所述方法类映射通讯数据中的所述方法定位起始字符和所述方法定位终止字符;
将查找到的所述方法定位起始字符和所述方法定位终止字符之间的字符作为所述方法类映射通讯数据对应的方法类映射名称字符。
5.根据权利要求2-4任一项所述的页面通讯方法,其特征在于,所述从预设的方法类映射数据集合中查找出所述方法类映射名称字符对应的方法类映射内容字符,以作为所述第一通讯页面和所述第二通讯页面之间的通讯数据之后,所述方法还包括:
将所述通讯数据所包含的方法类映射内容字符输入至eval函数;
将所述通讯数据所包含的方法类映射内容字符添加至所述第一通讯页面对应的内存中;
将所述通讯数据所包含的方法类映射内容字符挂载在所述第一通讯页面对应的windows对象中,以实现执行所述通讯数据所包含的方法类映射内容字符中所记录的方法。
6.根据权利要求2-4任一项所述的页面通讯方法,其特征在于,所述判断所述原始通讯数据是否包括映射通讯数据,包括:
判断所述原始通讯数据是否包括所述方法类映射标识字符和所述数组类映射标识字符中的任意一种;
当判断出所述原始通讯数据包括所述方法类映射标识字符和所述数组类映射标识字符中的任意一种时,确定所述原始通讯数据包括映射通讯数据;
当判断出所述原始通讯数据未包括所述方法类映射标识字符和所述数组类映射标识字符中的任意一种时,确定所述原始通讯数据未包括所述映射通讯数据。
7.根据权利要求2-4任一项所述的页面通讯方法,其特征在于,所述当所述映射通讯数据包括所述方法类映射通讯数据时,根据预设在所述方法类映射通讯数据中的方法类映射标识字符,确定出所述方法类映射通讯数据所包含的方法类映射名称字符之后,所述从预设的方法类映射数据集合中查找出所述方法类映射名称字符对应的方法类映射内容字符,以作为所述第一通讯页面和所述第二通讯页面之间的通讯数据之前,所述方法还包括:
判断预设的方法白名单列表中是否存在所述方法类映射名称字符;
当判断出所述方法白名单列表中存在所述方法类映射名称字符时,触发执行所述从预设的方法类映射数据集合中查找出所述方法类映射名称字符对应的方法类映射内容字符,以作为所述第一通讯页面和所述第二通讯页面之间的通讯数据的操作。
8.一种页面通讯装置,其特征在于,所述装置包括:
判断模块,用于在第一通讯页面接收到由第二通讯页面发送过来的原始通讯数据之后,判断所述原始通讯数据是否包括映射通讯数据,所述映射通讯数据是指需要执行预设的映射操作后才能够获得能够作为所述第一通讯页面和所述第二通讯页面之间的通讯数据的原始通讯数据;
确定模块,用于当所述判断模块判断出所述原始通讯数据包括所述映射通讯数据时,根据预设在所述映射通讯数据中的映射标识字符,确定出所述映射通讯数据所包含的映射名称字符;
查找模块,用于从预设的映射数据集合中查找出所述映射名称字符对应的映射内容字符,以作为所述第一通讯页面和所述第二通讯页面之间的通讯数据。
9.一种计算机设备,其特征在于,所述计算机设备包括:
存储有可执行程序代码的存储器;
与所述存储器连接的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1-7任一项所述的页面通讯方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的页面通讯方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110214636.6A CN112905940A (zh) | 2021-02-25 | 2021-02-25 | 页面通讯方法、装置、计算机设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110214636.6A CN112905940A (zh) | 2021-02-25 | 2021-02-25 | 页面通讯方法、装置、计算机设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112905940A true CN112905940A (zh) | 2021-06-04 |
Family
ID=76108411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110214636.6A Pending CN112905940A (zh) | 2021-02-25 | 2021-02-25 | 页面通讯方法、装置、计算机设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112905940A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117093288A (zh) * | 2023-08-18 | 2023-11-21 | 江苏新质信息科技有限公司 | 基于前后台通信的数据双向映射方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662460A (zh) * | 2008-08-25 | 2010-03-03 | 阿里巴巴集团控股有限公司 | 一种跨域通讯的方法、系统和装置 |
CN107818020A (zh) * | 2016-09-12 | 2018-03-20 | 平安科技(深圳)有限公司 | 参数传递方法和装置 |
CN108021593A (zh) * | 2016-11-03 | 2018-05-11 | 北京金山云网络技术有限公司 | 一种信息传递方法、装置及浏览器 |
-
2021
- 2021-02-25 CN CN202110214636.6A patent/CN112905940A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662460A (zh) * | 2008-08-25 | 2010-03-03 | 阿里巴巴集团控股有限公司 | 一种跨域通讯的方法、系统和装置 |
CN107818020A (zh) * | 2016-09-12 | 2018-03-20 | 平安科技(深圳)有限公司 | 参数传递方法和装置 |
CN108021593A (zh) * | 2016-11-03 | 2018-05-11 | 北京金山云网络技术有限公司 | 一种信息传递方法、装置及浏览器 |
Non-Patent Citations (1)
Title |
---|
ALAN0405: "给postmessage加上callback方法", pages 1 - 3, Retrieved from the Internet <URL:https://www.cnblogs.com/allofalan/p/11265486.html> * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117093288A (zh) * | 2023-08-18 | 2023-11-21 | 江苏新质信息科技有限公司 | 基于前后台通信的数据双向映射方法及装置 |
CN117093288B (zh) * | 2023-08-18 | 2024-04-30 | 江苏新质信息科技有限公司 | 基于前后台通信的数据双向映射方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8898796B2 (en) | Managing network data | |
US11237844B2 (en) | Method and apparatus for loading kernel module | |
US8528079B2 (en) | System and method for combating phishing | |
CN111813701B (zh) | 基于http的接口测试方法、装置、计算机设备及存储介质 | |
CN103607385A (zh) | 基于浏览器进行安全检测的方法和装置 | |
CN107104924B (zh) | 网站后门文件的验证方法及装置 | |
CN107995153B (zh) | 表单数据验证方法及表单数据验证装置 | |
CN109862021B (zh) | 威胁情报的获取方法及装置 | |
CN111475785B (zh) | 信息采集方法、装置、计算机设备和存储介质 | |
CN108494762A (zh) | 网页访问方法、装置及计算机可读存储介质、终端 | |
CN109547426B (zh) | 业务响应方法及服务器 | |
CN113536185B (zh) | 应用页面的加载方法、存储介质、及其相关设备 | |
CN110851818B (zh) | 验证码展示方法、装置、计算机设备和可读存储介质 | |
US11431749B2 (en) | Method and computing device for generating indication of malicious web resources | |
CN112818270B (zh) | 数据跨域传递方法、装置及计算机设备 | |
CN112839083A (zh) | 一种数据传输方法及装置、可读存储介质 | |
CN113709181A (zh) | 基于浏览器插件的网站登录方法、装置、设备及存储介质 | |
CN101960823B (zh) | 具有卡应用程序工具箱解释器的便携式数据载体 | |
CN116569165B (zh) | 页面显示方法、装置、存储介质及电子设备 | |
CN113282591B (zh) | 权限过滤方法、装置、计算机设备及存储介质 | |
CN112905940A (zh) | 页面通讯方法、装置、计算机设备以及存储介质 | |
CN113360300B (zh) | 接口调用链路生成方法、装置、设备及可读存储介质 | |
CN112579937A (zh) | 一种字符的高亮显示方法及装置 | |
US20070027918A1 (en) | Mail processing server, mail processing method, and mail processing program | |
KR20060054295A (ko) | 상이한 플랫폼 상에서 폰트 사이즈를 유지하는 방법 및시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210604 |
|
WD01 | Invention patent application deemed withdrawn after publication |