一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种信息加载方法、装置、电子设备及计算机存储介质与流程

2021-11-24 23:40:00 来源:中国专利 TAG:


1.本技术涉及计算机信息领域,尤其涉及一种信息加载方法、装置、电子设备及计算机存储介质。


背景技术:

2.浏览器是一种用来展示以及传输网页信息的应用软件,网页信息是由统一资源标识符(url,uniform resource identifier)所表示的网页中可用的资源,包括文档、图片、视频、程序等。
3.相关技术中,有些软件会对网页信息的信息内容进行屏蔽(即拦截),导致信息内容无法在浏览器中展示,也即该信息内容对用户不可见。随着浏览器功能的更新迭代,浏览器的功能越来越强大,这使得通过绕开拦截来规避屏蔽的传统方案变得失效,故亟需一种新型的方案来避免信息内容被屏蔽。


技术实现要素:

4.以下是对本技术详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
5.本技术提供一种信息加载方法、装置、电子设备及计算机存储介质,可以确保网页信息的信息内容能够正常展示给用户。
6.具体地,本技术是通过如下技术方案实现的:
7.第一方面,提供一种信息加载方法,包括:
8.利用信息加载程序,获取信息内容;
9.将所述信息内容进行展示。
10.可选地,所述利用信息加载程序,获取信息内容,包括:
11.利用信息加载程序的第一子程序,设置所述信息内容的标识,根据所述标识获取信息内容;
12.或者,利用信息加载程序的第二子程序,进行所述信息内容的获取流程,根据所述获取流程获取信息内容。
13.可选地,所述设置所述信息内容的标识,包括:
14.设置所述信息内容的缓存方式;
15.或者,设置所述信息内容的类名类型。
16.可选地,所述设置所述信息内容的缓存方式,包括:
17.将所述信息内容封装于影子文档对象模型;
18.将所述影子文档对象模型存储于数据库。
19.可选地,所述设置所述信息内容的类名类型,包括:
20.删除所述信息内容的原类名;
21.确定所述信息内容的样式数据,根据所述样式数据生成第一类名。
22.可选地,所述进行所述信息内容的获取流程,包括:
23.向服务端发送变更获取流程的通知;
24.根据所述变更获取流程得到所述信息内容。
25.可选地,所述根据所述变更获取流程得到所述信息内容,包括:
26.发送获取请求,其中,所述获取请求中设置有变更标识;
27.接收获取应答,其中,所述获取应答中设置有页面数据;
28.根据所述页面数据生成所述信息内容。
29.可选地,利用信息加载程序的第一子程序,或者利用信息加载程序的第二子程序之前,所述方法还包括:
30.判断所述信息内容的加载情况;
31.在判定所述信息内容无法展示的情况下,确定利用所述第一子程序获取所述信息内容;
32.在判定无法从服务端获取信息内容加载应答的情况下,确定利用所述第二子程序获取所述信息内容。
33.第二方面,提供一种信息加载方法,包括:
34.接收变更获取流程的通知;
35.在满足第一条件的情况下,获取信息内容;
36.将所述信息内容发送至客户端。
37.可选地,所述将所述信息内容发送至客户端,包括:
38.将所述信息内容编码为字符串形式的页面数据;
39.将所述页面数据发送至所述客户端。
40.第三方面,提供一种信息加载装置,包括:
41.加载模块,用于利用信息加载程序,获取信息内容;
42.展示模块,用于将所述信息内容进行展示。
43.第四方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序的情况下实现上述任一项所述的信息加载方法。
44.第五方面,提供一种计算机存储介质,存储有计算机程序,所述计算机程序被处理器执行的情况下进行上述任一项所述的信息加载方法。
45.本技术实施例提供的技术方案可以包括以下有益效果:
46.本技术实施例,利用信息加载程序,获取信息内容,然后将该信息内容展示在终端界面(例如浏览器页面)。通过信息加载程序能够防止网页信息被任何类型的屏蔽处理操作拦截,以确保网页信息的信息内容能被成功获取并展示。这样,针对存在的各种信息屏蔽情况,可以用同一个信息加载程序进行应对,从而正常展示全部网页信息的信息内容,确保信息内容展示无遗漏,和信息内容的有效传达。
47.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
48.附图用来提供对本技术技术方案的进一步理解,并且构成说明书的一部分,与本技术的实施例一起用于解释本技术的技术方案,并不构成对本技术技术方案的限制。
49.图1是本技术示例性实施例提供的一种信息加载方法的流程图;
50.图2是本技术示例性实施例提供的另一种信息加载方法的流程图;
51.图3是实施例1中针对拦截类型为网页内容元素拦截的情况进行信息加载的流程图;
52.图4是实施例2中针对拦截类型为网络请求拦截的情况进行信息加载的流程图;
53.图5是实施例3中客户端进行信息加载的流程图;
54.图6是实施例4中服务端进行信息加载的流程图;
55.图7是本技术示例性实施例提供的一种信息加载装置的示意图;
56.图8是本技术示例性实施例提供的电子设备的示意图。
具体实施方式
57.下文中将结合附图对本技术实施例进行详细说明。需要说明的是,在不冲突的情况下,本技术实施例及实施例中的特征可以相互任意组合。
58.在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
59.本技术中的“第一”、“第二”、“第三”等序数词是为了避免构成要素的混同而设置,而不是为了在数量方面上进行限定的。本技术中的“多个”表示两个或两个以上的数量。
60.本技术的技术方案应用于浏览器,浏览器包含:ie浏览器(internet explorer浏览器)、谷歌浏览器(google chrome浏览器)、火狐浏览器、opera浏览器、360浏览器、qq浏览器、搜狗浏览器等浏览器的电脑端版本和移动端版本。
61.需要说明的是,对网页内容常用的拦截方式包括:
62.1、网页内容元素拦截
63.此种拦截方式,拦截软件可以根据默认的规则列表,或用户自定义的规则来对特定域名或者网页中的网页内容元素进行匹配,匹配成功则进行隐藏处理,从而屏蔽网页内容。
64.2、网络请求拦截
65.此种拦截方式,通过拦截符合网页内容特征的网络请求,来提高拦截效率。网络请求拦截方式是在浏览器发出网络请求的情况下,先对该网络请求进行识别,如果该网络请求命中预设的拦截规则,则直接拦截该网络请求以避免收到该网络请求对应的响应结果,从而屏蔽响应结果中的网页内容。
66.为了令全部网页信息的信息内容正常展示,本技术一个示例性实施例提供一种信息加载方法,如图1所示,包括步骤s110

s120:
67.s110、利用信息加载程序,获取信息内容;
68.s120、将信息内容进行展示。
69.其中,本示例性实施例的方法可以但不限于应用在客户端。
70.将信息内容进行展示可以是指在客户端的显示屏的预定窗口或界面中展示该信息内容,或是根据该信息内容的样式数据在显示屏的相应位置,按照信息内容的展示尺寸展示该信息内容。
71.步骤s110中可以先检测信息内容是否被拦截,如果没有被拦截则直接获取信息内容用以展示;如果被拦截,则判断是否满足预设的防拦截启动条件,如果满足则启动信息加载程序中相应的子程序来获取信息内容。
72.在本技术的技术方案中,无论网页信息的信息内容是基于网页内容元素拦截方式,还是基于网络请求拦截方式,都可以通过信息加载程序,实现信息内容的获取。
73.需要说明的是:信息加载程序可以为计算机函数,是可以直接被引用或调用的代码。
74.其中,信息内容可以包括新闻、广告等。具体地,该新闻、广告的播放形式可以为在浏览器的显示页面中的局部区域展示;还可以为在其它弹窗中展示,该弹窗可以覆盖浏览器的显示页面的部分区域,即弹窗位于显示页面的外层。外层指以客户端的显示屏为基准,可令用户看到页面层中全部信息内容的层。
75.本技术的示例性实施例中,利用信息加载程序,获取信息内容,然后将该信息内容展示在终端界面(例如浏览器页面)。通过信息加载程序能够防止网页信息被任何类型的屏蔽处理操作拦截,以确保网页信息的信息内容能被成功获取并展示。这样,针对存在的各种信息屏蔽情况,可以用同一个信息加载程序进行应对,从而正常展示全部网页信息的信息内容,确保信息内容展示无遗漏,和信息内容的有效传达。
76.优选的,步骤s110可以包括:
77.利用信息加载程序的第一子程序,设置信息内容的标识,根据标识获取信息内容;
78.或者,利用信息加载程序的第二子程序,进行信息内容的获取流程,根据获取流程获取信息内容。
79.其中,信息内容的标识可以是指用于将该信息内容区别于其他信息内容的属性特征。例如标识可以包含信息内容的类名、或缓存方式等。
80.信息内容的获取流程可以是指客户端从服务端获取信息内容所需要依次进行的多个流程步骤。客户端指用户端,是为用户提供本地服务的程序。服务端(例如服务器)是为客户端服务的,服务端的作用是将服务端中的内容提供至客户端,或者保护客户端的数据等。
81.需要说明的是:第一子程序、第二子程序均可以为计算机函数,均是可以直接被引用或调用的代码。其中,第一子程序和第二子程序共同构成本技术的信息加载程序,或与其它代码共同构成信息加载程序。即,第一子程序、第二子程序集成在信息加载程序中。
82.进一步的,设置信息内容的标识,包括:
83.设置信息内容的缓存方式,或者设置信息内容的类名类型。这样,设置信息内容的缓存方式可以将信息内容的存储属性设置为与拦截条件不匹配,从而避免信息内容被拦截。设置信息内容的类名类型可以将信息内容的类名属性设置为与拦截条件不匹配,从而避免信息内容被拦截。
84.一种可选方式中,设置信息内容的缓存方式可以包括:
85.将信息内容封装于影子文档对象模型(shadow dom);然后将影子文档对象模型存
储于数据库。
86.本可选方式中,可以先创建影子文档对象模型(shadow dom),然后将信息内容及样式等移动到该影子文档对象模型(shadow dom)中,或者将信息内容及样式等复制粘贴到该影子文档对象模型(shadow dom)中。
87.本可选方式的做法适用于支持影子文档对象模型(shadow dom)的浏览器。由于影子文档对象模型(shadow dom)具有独立的元素和样式空间,影子文档对象模型(shadow dom)中的数据可以看成是放在一个独立的密闭空间中,外部样式无法影响到该密闭空间中的网页内容元素;将信息内容放入影子文档对象模型(shadow dom)中,意味着将相应的网页内容元素从普通类型修改成了隐藏类型,不再会被影子文档对象模型(shadow dom)之外的样式影响,因此可以避免针对网页内容元素进行屏蔽的情况发生,保证信息内容的正常显示。
88.另一种可选方式中,设置信息内容的缓存方式还可以包括:修改信息内容的层级,例如为信息内容的父级元素增加层级或在父级元素和信息内容之间增加新的层级。
89.本可选方式的做法可以将信息内容的层级、或信息内容的父级元素等存储属性设置为与拦截条件不匹配,从而避免信息内容被拦截。
90.在本技术的一种实施方式中,数据库可以为浏览器数据库(indexeddb数据库)或本地存储空间(local storage)。浏览器数据库(indexeddb数据库)是一种存放在浏览器内的数据库,其存储内容和空间不受限制,例如可存文本或二进制内容等。本地存储空间(local storage)可以存储字符串形式的信息内容,将信息内容直接存储到本地。
91.一种可选方式中,设置信息内容的类名类型,包括:
92.删除信息内容的原类名;
93.确定信息内容的样式数据,根据样式数据生成第一类名。
94.样式数据指信息内容播放需占用的播放占用区域、信息内容的播放形式。
95.本可选方式的做法之一,可以将信息内容的层叠样式表(css)属性数据作为第一类名,例如将信息内容的显示样式信息作为第一类名,取代原类名。在原类名和显示样式之间建立对应关系,这样,由于可能和拦截条件匹配的原类名被隐藏掉,而第一类名和拦截条件不匹配,比如不在拦截的黑名单中,因此可以避免信息内容被拦截。另外,根据原类名和显示样式之间的对应关系,浏览器还能读取原类名,确保信息内容的正常显示。在本技术的其它实现方式中,还可以将信息内容的id标识、存储路径等作为第一类名,取代原类名。相应的,可以在原类名和信息内容的id标识之间建立对应关系;或者可以在原类名和信息内容的存储路径之间建立对应关系。
96.本可选方式的做法之二,可以根据信息内容的层叠样式表(css)属性数据,确定用于显示信息内容的展示窗口需要占用的播放区域,使用播放区域的标识作为第一类名,替代信息内容对应的网页内容元素中原类名;其中,播放区域是对显示界面进行划分得到的,每个播放区域具有唯一标识。该做法中,在进行信息内容展示时,可以直接根据播放区域的标识,在相应的播放区域中布设展示窗口来展示信息内容;这样不用在信息内容的网页内容元素中携带css属性数据,即无须携带展示样式参数,这样既可以防止网页内容元素拦截导致的信息内容被屏蔽,也省去了展示信息内容时获取、核实展示样式参数的时间;另外,播放区域的标识可以只使用一个字符,这样可以减少数据量资源的占用。
97.进一步的,进行信息内容的获取流程可以包括:
98.向服务端发送变更获取流程的通知;
99.根据变更获取流程得到信息内容。
100.其中,通知可以指由客户端向服务端发送变更获取流程的请求。服务端接收该变更获取流程的请求,则判定发生信息内容拦截。在此情况下,获取流程由在先的客户端发起获取流程变更为由服务端发起获取流程。这样,变更获取流程的发起端为服务端,可避免拦截软件基于客户端发起的获取流程而断开该获取流程的情况发生,从而确保信息内容的正常显示。
101.一种可选方式中,根据变更获取流程得到信息内容可以包括:
102.由客户端(浏览器)向服务端发送获取请求,在提供给服务端的获取请求中设置有变更标识,变更标识用于指示服务端获取信息内容;
103.客户端接收服务端返回的获取应答,在获取应答中设置有页面数据。根据页面数据生成信息内容。
104.其中,提供给服务端的获取请求可以包含cookie。
105.在一种可选方案中,可以采用同一个消息向服务端发送通知和获取请求,比如发送带有预定标识的获取请求给服务端,这样用一次发送就可以既通知服务端变更获取流程,又将获取请求传递给服务端。在另一个可选方案中,可以用不同的消息分别发送通知和获取请求。
106.此外,获取请求中还可以携带信息内容对应的网络请求的url,从而供服务端获取该信息内容。如果要获取的信息内容对应的网络请求有多个,则可以在获取请求中携带这多个网络请求的url。
107.示例性地,服务端可以采用base64编码方式对信息内容进行编码,得到字符串形式,将该字符串形式设置在(携带在)页面数据中。base64是一种编码方式,信息内容使用这种编码方式处理后,会成为文本形式的字符串,这样客户端可以直接使用该base64字符串填充页面数据中和信息内容对应的网页内容标签,以生成信息内容,这样加载页面数据时就可以展示信息内容。
108.相应的,根据变更获取流程得到信息内容可以包括:
109.接收服务端返回的页面数据,从所接收的页面数据中,获取字符串形式的信息内容,将获取的信息内容保存在缓存中。
110.其中,从服务端接收的页面数据可以是指用于描述页面内容和结构的页面(html)数据。字符串形式的信息内容携带在该页面数据中,这样客户端可以从页面数据里读取字符串形式的信息内容,将字符串形式还原为浏览器展示形式,从而进行展示。
111.其中,页面数据中可以包括多个网络请求对应的信息内容;页面数据中,不同网络请求对应的信息内容可以分别记录在所相应的url之后,这样客户端能够区分出不同网络请求对应的信息内容。
112.一个可选方式中,如果变更获取流程后得到的信息内容仍不能展示,则可以继续利用信息加载程序的第一子程序,设置信息内容的标识,根据标识获取信息内容,再进行展示。
113.一个可选方式中,页面数据中还可以包括信息内容的有效时间或有效时间段;将
获取的信息内容保存在缓存中的情况下,将信息内容的有效时间或有效时间段一起保存在缓存中。
114.相应的,在向服务端发送变更获取流程的通知前,可以先在缓存中查找待显示的信息内容,如果缓存中查找不到或查找到的信息内容已过期,则通知服务端不进行获取信息内容的流程。如果缓存中能查找到待显示的信息内容且该信息内容未过期,则可以直接展示该信息内容。
115.有效时间可以是一个时间长度,即信息内容在收到后多长时间内有效;有效时间段可以是信息内容有效的终止时刻,或者信息内容有效的起止时刻。根据有效时间或有效时间段可以确定信息内容是否有效,如果当前时间不在有效时间段内,或者当前时间距离收到信息内容的时刻之间的时长已经超出有效时间,则信息内容已过期,是无效的;如果当前时间在有效时间段内容,或者当前时间距离收到信息内容的时刻之间的时长未达到有效时间,则信息内容未过期,是有效的。
116.进一步的,利用信息加载程序的第一子程序,或者利用信息加载程序的第二子程序之前,本技术提供的信息加载方法还包括:
117.判断信息内容的加载情况;
118.在判定信息内容无法展示的情况下,确定利用第一子程序获取信息内容;
119.在判定无法从服务端获取信息内容加载应答的情况下,确定利用第二子程序获取信息内容。
120.其中,信息内容被屏蔽的情况包括但不限于被拦截;如果信息内容被拦截,可以先确定拦截类型,再根据拦截类型判断使用第一子程序或第二子程序获取信息内容;信息内容无法展示的情况,即拦截方式为网页内容元素拦截的情况,需利用第一子程序获取信息内容;无法从服务端获取信息内容加载应答的情况,即拦截方式为网络请求拦截的情况,需利用第二子程序获取信息内容。如果既有网页内容元素拦截又有网络请求拦截,则拦截方式为混合拦截,需利用第一子程序和第二子程序组合,获取信息内容。
121.这样可以根据实际情况,自适应的选用相应的子程序进行信息内容的获取,更加便捷。
122.示例性地,可以在页面加载完成后,通过检测信息内容对应的网页内容元素的css属性数据,来判断信息内容能否展示,如果该网页内容元素的css属性数据为无展示内容(display:none),则判断存在网页内容元素拦截,信息内容无法展示。
123.示例性地,可以通过监听信息内容的网络请求来判断是否可从服务端获取信息内容;如果所监听的信息内容的网络请求无法返回,例如事件报错(on error)被触发,则判断表示错误的状态码是多少;如果状态码不是40开头的状态码(如状态码“400”、“401”、“403”、“404”等)则表明不是客户端错误,该情况下可以确定无法从服务端获取信息内容。进而判断存在网络请求拦截。
124.本技术另一个示例性实施例提供一种信息加载方法,如图2所示,包括步骤s210

s230:
125.s210、接收变更获取流程的通知;
126.s220、在满足第一条件的情况下,获取信息内容;
127.s230、将信息内容发送至客户端。
128.其中,本示例性实施例的方法可以应用在服务端。
129.在本技术的优选实施方式中,第一条件指触发服务端执行变更获取流程的因素。第一条件可以为可进行变更获取流程申请的客户端清单,在判定发送变更获取流程的客户端与上述清单中的客户端有匹配的情况下,确定满足第一条件,令服务端执行变更获取流程,进而获取信息内容。第一条件还可以为可进行变更获取流程申请的时间表,在判定发送变更获取流程的时间包含于上述时间表中的时间要求的情况下,确定满足第一条件,令服务端执行变更获取流程,进而获取信息内容。此外,第一条件还可以为用户预设的其它触发因素。
130.这样,在满足第一条件的情况下,才令服务端执行变更获取流程,确保服务端获取的信息内容为用户需要的,或者有效的信息,防止信息内容的任意获取。
131.优选的,将信息内容发送至客户端包括:
132.将信息内容编码为字符串形式的页面数据;
133.将页面数据发送至客户端。
134.进一步的,可以是检测到客户端发送的cookie中携带有变更标识的情况下,确定接收到变更获取流程的通知。其中,变更标识里可以携带客户端利用信息加载程序的第二子程序所要获取的信息内容的url,服务端根据该url获取相应的信息内容。变更标识中可以携带多个网络请求的url,相应的,服务端可以针对每个url分别获取信息内容,在发送给客户端的页面数据中可以分别增加每个url各自对应的信息内容。
135.进一步的,对所获取的信息内容进行编码时可以但不限于采用base64编码方式,得到base64字符串形式。
136.进一步的,页面数据中还可以携带保护标识,携带保护标识的意义是通知客户端所返回的页面数据是按照变更获取流程所得到的,其中包含有编码形式的已获取的信息内容,该保护标识将触发客户端使用页面数据中编码形式的信息内容进行显示。
137.进一步的,页面数据中还可以携带信息内容的有效时间或者有效时间段;有效时间可以是一个时间长度,即信息内容在收到后多长时间内有效;有效时间段可以是信息内容有效的终止时刻,或者信息内容有效的起止时刻。
138.实施例1
139.本实施例是针对网页内容元素拦截方式进行信息加载的技术方案,如图3所示,包括以下步骤s301

s303:
140.s301、确定待加载网页信息的信息内容;
141.s302、利用信息加载程序的第一子程序,设置信息内容的标识;根据标识获取对应的信息内容;
142.s303、将获取的信息内容展示在客户端的界面中。
143.在本技术的优选实施例中,加载网页信息由客户端(浏览器)执行。网页页面中可以有一个或多个信息内容,网页页面中全部信息内容均未被拦截的情况下,判定没有拦截发生,可以直接获取信息内容进行展示;至少一个信息内容被拦截的情况下,则利用信息加载程序的第一子程序来获取该信息内容并展示;多个信息内容被拦截的情况下,可以对每个被拦截的信息内容分别进行步骤s302。
144.本实施例中,步骤s302中设置信息内容的标识包括:设置信息内容的缓存方式,或
者设置信息内容的类名类型;具体地,设置缓存方式可以是对信息内容进行封装,也可以是设置信息内容的层级信息;设置信息内容的类名类型可以是删除信息内容的原类名,根据信息内容的样式数据生成第一类名。
145.下面用四个示例说明设置信息内容的标识的具体实现方式。
146.第一种示例中,设置信息内容的标识的具体实现方式如下:
147.获取被拦截的信息内容对应的网页内容元素中每个类名(class)的层叠样式表(css)属性数据(以下简称“css属性数据”),将类名(class)属性(以下简称“class属性”)替换为新类名(style)属性(以下简称“style属性”),将获取的css属性数据写入style属性中。
148.例如,被拦截的信息内容对应的网页内容元素包含两个class,分别是“ad”和“main”;获取ad和main中的css属性数据,将网页内容元素中的class属性删去,改为style属性,style属性的值即所获取的css属性数据。
149.假设ad中的css属性数据为:
150.width:500px;
151.height:120px;
152.假设main中的css属性数据为:
153.padding:10px;
154.margin:5px;
155.获取ad、main这两个class中的css属性数据写入style属性,并删除class属性,这样得到最终的网页内容元素。
156.本示例的做法是变更信息内容的原有的类名,删除其中的class属性但保留样式数据,这样对拦截网页内容元素的方式可以进行有效规避,并保证信息内容可以正常显示,以及保留原有样式。
157.第二种示例中,设置信息内容的标识的具体实现方式如下:
158.修改被拦截信息内容的层级信息,例如将信息内容对应的网页内容元素的层级增加,假设原先网页内容主体(body)标签(以下简称“body标签”)中第一个分割(div)标签(以下简称“div标签”)中的class属性为“ads”,该div标签中包含被拦截的信息内容;可以在该div标签前后各增加一个div标签,所增加的div标签中class属性是“ads”以外的值。这样一来,如果拦截规则是对body标签中第一个div标签class属性的值为“ads”的元素进行拦截,通过层级修改,第一个div标签的class属性的值将不再是ads,因此该信息内容就不会被拦截。
159.本示例的实现方式相当于是修改信息内容的缓存信息,对通过检测父级元素进行拦截的方式可以进行有效规避。
160.第一、第二种示例可以配合使用;比如先使用第一种示例的做法,如果信息内容仍无法显示,则继续尝试第二种示例的做法。
161.第三种示例中,设置信息内容标识的具体实现方式如下:
162.创建影子文档对象模型(shadow dom)(以下简称“shadow dom”),并将信息内容(其中包含了信息内容的css属性数据)放到该shadow dom中,这样可以用shadow dom保护原先被拦截的信息内容。
163.本示例通过变更信息内容的缓存方式,更加快捷有效,无论网页内容元素拦截是针对网页内容元素本身还是根据其父级元素进行,使用本示例的做法都可以防止被拦截。
164.第四种示例中,设置信息内容标识的具体实现方式如下:
165.获取被拦截的信息内容的css属性数据,删除该信息内容中的class/id,并且根据先前获取的css属性数据确定用于显示信息内容的展示窗口需要占用的播放区域,使用播放区域的标识作为新的类名,添加到该信息内容中,以达到能够显示信息内容且保证信息内容的样式能符合预期的效果。
166.具体来说,可以从信息内容中去除class/id,添加播放区域的标识作为新的类名,其中,播放区域是对显示界面进行划分得到的,每个播放区域具有唯一标识,比如但不限于采用序号。所添加的播放区域的标识是根据获取的css属性数据确定的。使用该标识可以避免信息内容被相关技术中的拦截软件识别判定为具有特定的属性,从而避免信息内容被拦截。在显示网页的过程中,可以通过识别信息内容中的播放区域的标识确定信息内容的展示样式(包括信息内容展示的位置、展示窗口的大小等)。
167.而且,如果播放区域的标识采用单个字符,例如1、2、3、4,代替class/id后不会增加占位符占用资源;也不用再另外携带展示样式参数(比如展示窗口的边长、位置等),节省了在信息内容展示过程中获取和核对相应的样式数据的时间。
168.本示例中,根据css属性数据确定播放区域标识的具体实现方式如下:
169.获取被拦截的信息内容的css属性数据,比如可以包括:展示窗口水平边长(width)、展示窗口竖直边长(height)。根据该css属性数据确定展示窗口所要占用的播放区域,进而确定播放区域的标识。上述展示窗口水平边长指与客户端的显示界面的纵向的两条边框平行的播放框的长度;上述展示窗口竖直边长指与客户端的显示界面的横向的两条边框平行的播放框的长度。以用户正常平视为基准,客户端对应正常放置,纵向为相对于客户端的竖直方向;横向为相对于客户端的水平方向。
170.假设客户端上的显示界面按照预设规则划分为预设数量的多个大小相同(即播放区域竖直边长、播放区域水平边长都相同)的播放区域,每个播放区域有自己的标识;例如利用横向、纵向的中线将显示界面划分为左上、右上、左下、右下4个播放区域,标识分别为1、2、3、4。以用户正常平视为基准,客户端对应正常放置,上、下、左、右分别指相对于用户纵向的顶部方向、相对于用户纵向的底部方向、相对于用户横向的左侧方向、相对于用户横向的右侧方向。
171.以一个被拦截的信息内容为例,获取该信息内容中的展示窗口水平边长、展示窗口竖直边长、展示位置(例如为展示窗口的起始位置为左上角顶点的坐标),根据展示窗口水平边长、展示窗口竖直边长计算得到第一数值。第一数值的计算方法为,第一数值=展示窗口竖直边长(height)/展示窗口水平边长(width)。展示窗口可以看成是垂直连接的展示窗口竖直边h、展示窗口水平边w构成的矩形,用弹窗显示信息内容时,展示窗口即弹窗的窗口。
172.在第一数值小于1的情况下,确定展示窗口水平边长大于展示窗口竖直边长。
173.利用第一公式:展示窗口竖直边长2/(展示窗口水平边长*播放区域水平边长)得到第一结果,将第一结果与第一阈值进行比较;其中,第一阈值为第一数值的平方。
174.如果第一结果大于第一阈值,则判断展示窗口水平边长大于播放区域水平边长,
确定的播放区域的标识为1和2,即一个播放区域不够展示信息内容用,需要播放区域1和播放区域2两个播放区域共同展示信息内容。
175.如果第一结果小于第一阈值,则判断展示窗口水平边长小于播放区域水平边长,确定的播放区域的标识为1,即一个播放区域足够展示信息内容。
176.由于所划分出的播放区域的竖直边长和水平边长是确定的,因此存在固定的第二数值=播放区域竖直边长/播放区域水平边长;可知:
177.播放区域水平边长=播放区域竖直边长/第二数值;
178.展示窗口水平边长=展示窗口竖直边长/第一数值。
179.这样在获知展示窗口水平边长和播放区域水平边长的大小关系后,即获知了(展示窗口竖直边长/第一数值)和(播放区域竖直边长/第二数值)之间的大小关系,而由于第一数值和第二数值都是确定的,因此根据第一公式的结果不仅可以获知展示窗口水平边长放区域水平边长的大小关系,还可以同时获知窗口竖直边长和播放区域竖直边长之间的大小关系。
180.无论在播放区域1,还是播放区域1和2中展示信息内容,均可以以播放区域1为基准进行布设,比如将播放区域1的左上角顶点作为展示窗口的左上角顶点进行布设。
181.在第一数值大于1的情况下,展示窗口水平边小于展示窗口竖直边。
182.利用第二公式:(展示窗口竖直边长*播放区域竖直边长)/展示窗口水平边长2得到第二结果,将第二结果与第一阈值进行比较;其中,第一阈值为第一数值的平方。
183.如果第二结果小于第一阈值,则判断展示窗口竖直边长大于播放区域竖直边长,确定的播放区域的标识为1和3,即一个播放区域不够展示信息内容用,需要播放区域1和播放区域3两个播放区域共同展示信息内容;
184.如果第二结果大于第一阈值,则判断展示窗口竖直边长小于播放区域竖直边长,确定的播放区域的标识为1,即一个播放区域足够展示信息内容用,只需要使用播放区域1即可。
185.可知:播放区域竖直边长=播放区域水平边长*第二数值;
186.展示窗口竖直边长=展示窗口水平边长*第一数值。
187.这样在获知展示窗口竖直边长和播放区域竖直边长的大小关系后,即获知了(展示窗口水平边长*第一数值)和(播放区域水平边长*第二数值)之间的大小关系,而由于第一数值和第二数值都是确定的,因此根据第二公式的结果不仅可以获知展示窗口竖直边长和播放区域竖直边长之间的大小关系,还可以同时获知展示窗口水平边长和播放区域水平边长之间的大小关系。
188.无论在播放区域1,还是播放区域1和3中展示信息内容,均可以以播放区域1为基准进行布设,比如将播放区域1的左上角顶点作为展示窗口的左上角顶点进行布设。
189.相应的,在展示信息内容的过程中,识别信息内容中所具有的播放区域的标识,以具有标识1和2为例,展示过程如下:以播放区域1为基准,在播放区域1和播放区域2中绘制垂直连接的展示窗口竖直边、展示窗口水平边,在确保所绘制的展示窗口竖直边长与展示窗口水平边长的比值,与所获得的css属性数据中展示窗口竖直边长与展示窗口水平边长的比值(即第一数值)相同(即要绘制的展示窗口的长宽比例和css属性数据中展示窗口的长宽比例相同)的前提下,按照最大尺寸确定展示窗口的竖直边长和水平边长。
190.比如,以播放区域1的竖直边长作为要绘制的展示窗口的竖直边长,用该竖直边长除以第一数值,如果该计算结果小于或等于播放区域的水平边长的两倍(即1和2的水平边长之和),则将该计算结果作为要绘制的展示窗口的水平边长;如果不小于,因此需要重新确定要绘制的展示窗口的竖直边长,将播放区域的水平边长的两倍作为要绘制的展示窗口的水平边长,用该水平边长乘以第一数值,得到要绘制的展示窗口的垂直边长。
191.例如,假设所获取的css属性数值中,竖直边长(height)为3厘米,水平边长为6厘米,则第一数值为0.5。
192.假设各播放区域的竖直边长为10厘米,水平边长为15厘米的情况,用10厘米除以0.5为20厘米,小于15
×
2=30厘米,则可以将10厘米作为要绘制的展示窗口的竖直边长,将20厘米作为要绘制的展示窗口的水平边长。
193.假设各播放区域的竖直边长为10厘米,水平边长为5厘米的情况,用10厘米除以0.5为20厘米,大于5
×
2=10厘米,说明如果要按照原来的长宽比例绘制展示窗口,将无法在两个播放区域中完全绘制出该展示窗口,因此要重新确定竖直边长,用水平边长5
×
2=10厘米乘以第一数值得到5厘米,作为要绘制的展示窗口的竖直边长。
194.可以看到,在两种情况下,绘制的展示窗口的长宽比例,和css属性数据中的展示窗口的长宽比例(即第一数值)是相同的。
195.这样只需要获取上述标识和第一数值,即可确定展示位置和展示窗口尺寸等参数,并相应绘制展示窗口以展示信息内容,不需要在上述标识和样式数据之间建立对应关系,也不需要存储样式数据,操作简捷,且减少资源占用。
196.利用上述任一示例可以设置信息内容的标识,然后就可以根据该标识相应获取信息内容以进行展示。
197.实施例2
198.本实施例是针对网络请求拦截类型进行信息加载的技术方案,通过客户端和服务端配合实现;其中,客户端可以包括安装在用户设备中的浏览器或第三方软件。
199.本实施例中,客户端和服务端配合进行信息加载的流程如图4所示,包括步骤s401

s403:
200.s401、客户端监听信息内容的网络请求,如果网络请求被拦截则利用信息加载程序的第二子程序,向服务端发送变更获取流程的通知;
201.s402、服务端收到通知后,根据被拦截的网络请求获取信息内容,将获得的信息内容编码增加在页面数据中,返回给客户端;
202.s403、客户端接收服务端返回的页面数据,将其中携带的字符串形式的信息内容转化为信息内容以进行展示。
203.页面数据用于定义页面内容和结构的html数据。
204.本实施例可以采用ssr(server side rendering,服务端渲染)的方式来避免网络请求拦截造成的信息内容屏蔽;ssr方式即:由服务端直接处理好完整的html页面,并返回给浏览器显示的方式。如果是由javascript脚本动态的创建网页内容元素进行显示,这种方式为csr(client side rendering,客户端渲染),需要请求到信息内容才能进行显示,如果存在网络请求拦截则无法请求到信息内容,进而导致信息内容被屏蔽;而本实施例是服务端将信息内容直接添加到页面数据中,因此信息不会被网络请求拦截给屏蔽。
205.实施例3
206.本实施例是客户端进行信息加载的方案,如图5所示,包括以下步骤s501

s507:
207.s501、客户端监听信息内容的网络请求。
208.其中,可以预先保存一个或多个对应于待保护的信息内容的url,本步骤中所监听的是针对所保存的url的网络请求。
209.s502、如果所监听的网络请求无法返回,且不是客户端错误,则判定该网络请求对应的信息内容被拦截,记录拦截类型。
210.其中,不是客户端错误即服务器返回的状态码不是“400”、“401”、“403”、“404”或其它40开头的状态码。
211.其中,拦截类型可以记录在cookie中,用于指示拦截方式。拦截方式可以包括:网页内容元素拦截、网络请求拦截、复合拦截(既有网页内容元素拦截又有网络请求拦截);如果cookie中未记录拦截类型,可以认为不存在拦截;可以用不同标识来表示不同的拦截类型,比如“a”、“b”、“c”分别表示网页内容元素拦截、网络请求拦截、复合拦截;本实施例中记录的拦截类型为网络请求拦截或复合拦截。
212.s503、在判定本地缓存有被拦截的信息内容的情况下,判断该信息内容是否过期。
213.在判定本地缓存有被拦截的信息内容的情况下,判断该信息内容是否过期。在判定信息内容未过期的情况下,则执行步骤s507,即无需进行获取流程来获取被拦截的信息内容,可以直接展示;在判定信息内容已过期的情况下,则执行步骤s504,即需要进行获取流程来获取被拦截的信息内容。可选的,如果本地缓存有被拦截的信息内容但已过期,则在进行步骤s504前,可以先暂时显示本地缓存的已过期的信息内容,再进行步骤s504

s507去请求新的信息内容并展示。
214.其中,判断信息内容是否过期的方式可以是:读取缓存中保存的该信息内容的有效时间或有效时间段,将该有效时间或者有效时间段与客户端的当前时间进行比较,如果当前时间不包含于信息内容的有效时间段内,或当前时间距离信息内容的接收时刻的时长超过有效时间,则表明该信息内容已过期;如果当前时间包含于信息内容的有效时间段内,或当前时间距离信息内容的接收时刻的时长未达到有效时间,则表明该信息内容未过期;
215.s504、在cookie中增加变更标识,该变更标识用于指示服务端获取该信息内容,服务端将信息内容编码后设置于页面数据中,将页面数据发送至客户端。
216.其中,可以在变更标识中携带信息内容对应的url。被拦截的信息内容可以是首次被拦截的信息内容(即缓存中没有该信息内容的情况),也可以是曾经被拦截过的信息内容(即缓存中有该信息内容但已经过期,需要再次进行请求的情况)。
217.s505、触发当前页面进行刷新,将变更标识发送给服务端;接收到服务端返回的带有保护标识的页面数据后,缓存该页面数据中字符串形式的信息内容。
218.其中,有保护标识表明该页面数据中携带有被拦截的信息内容;通过保护标识可以触发客户端将页面数据中字符串形式的信息内容缓存,以展示网页内容。
219.其中,字符串形式的信息内容可以为base64字符串形式或二进制形式。可以使用indexeddb数据库或local storage方式进行缓存。页面数据中还可以携带有信息内容的有效时间或者有效时间段;
220.其中,服务器返回的页面数据中,会记录被拦截的信息内容的url、编码的信息内
容、以及信息内容的有效时间或者有效时间段;比如被拦截的信息内容的url包括url1、url2和url3,则返回的页面数据中,可以分别记录url1对应的信息内容和有效时间或者有效时间段、url2对应的信息内容和有效时间或者有效时间段、url3对应的信息内容和有效时间或者有效时间段。
221.s506、当前页面中被拦截的信息内容都已获取到后,删除cookie中的变更标识。
222.s507、将缓存中字符串形式的信息内容在网页界面展示。
223.本实施中,如果拦截类型为复合拦截,则虽然信息内容已加入网页内容元素中,但由于网页内容元素会被拦截,因此信息内容仍无法展示,此情况下还需要根据实施例1中的方式,利用信息加载程序的第一子程序获取信息内容后,才能进行展示。
224.实施例4
225.本实施例是服务端进行信息加载的方案,如图6所示,包括以下步骤s601

s603:
226.s601、服务端接收到变更获取流程的通知,根据变更获取流程获取信息内容;
227.s602、将获取的信息内容进行编码,得到字符串形式,将字符串形式的信息内容设置于页面数据中;
228.其中,编码可采用base64字符串或二进制;
229.其中,页面数据中可对应记录url和根据该url获取的信息内容,从而供客户端确认每个url对应的信息内容;
230.其中,页面数据中还可以携带信息内容的有效时间或者有效时间段;该有效时间或者有效时间段可以用服务端的当前时间加上一个预设时间长度得到。
231.s603、在页面数据中增加保护标识后返回给客户端;该保护标识用于触发客户端使用页面数据中字符串形式的信息内容进行显示。
232.本实施例可以由服务端直接获取好信息内容,编码后携带在页面数据中发送给客户端展示,这样可以避免由于存在网络请求拦截而导致的信息内容被屏蔽。
233.本技术又一示例性实施例还提供了一种信息加载装置,如图7所示,包括:
234.加载模块71,用于利用信息加载程序,获取信息内容;
235.展示模块72,用于将信息内容进行展示。
236.该信息加载装置可以应用在客户端。
237.在本技术的实施例中,通过加载模块71获取信息内容,通过展示模块72将上述获取到的信息内容展示在终端界面(例如浏览器页面)。通过加载模块71能够防止网页信息被任何类型的屏蔽处理操作拦截,以确保网页信息的信息内容能被成功获取并展示。这样,针对存在的各种信息屏蔽情况,可以用同一个加载模块71进行应对,从而令展示模块72正常展示全部网页信息的信息内容,确保信息内容展示无遗漏,和信息内容的有效传达。
238.优选的,加载模块71用于利用信息加载程序,获取信息内容,包括:
239.加载模块71利用信息加载程序的第一子程序,设置信息内容的标识,根据标识获取信息内容;或者,利用信息加载程序的第二子程序,进行信息内容的获取流程,根据获取流程获取信息内容。
240.进一步的,加载模块71设置信息内容的标识,包括:
241.加载模块71设置信息内容的缓存方式;
242.或者,加载模块71设置信息内容的类名类型。
243.一种可选方案中,加载模块71设置信息内容的缓存方式,包括:
244.加载模块71将信息内容封装于影子文档对象模型;将影子文档对象模型存储于数据库。
245.一种可选方案中,加载模块71设置信息内容的类名类型,包括:
246.加载模块71删除信息内容的原类名;确定信息内容的样式数据,根据样式数据生成第一类名。
247.进一步的,加载模块71进行信息内容的获取流程,包括:
248.加载模块71向服务端发送变更获取流程的通知;根据变更获取流程得到信息内容。
249.可选的,加载模块71根据变更获取流程得到信息内容,包括:
250.加载模块71发送获取请求,其中,获取请求中设置有变更标识;接收获取应答,其中,获取应答中设置有页面数据;根据页面数据生成信息内容。
251.进一步的,加载模块71还用于在利用信息加载程序的第一子程序,或者利用信息加载程序的第二子程序之前,判断信息内容的加载情况;
252.在判定信息内容无法展示的情况下,确定利用第一子程序获取信息内容;
253.在判定无法从服务端获取信息内容加载应答的情况下,确定利用第二子程序获取信息内容。
254.本技术又一示例性实施例还提供了一种电子设备,如图8所示,包括存储器81、处理器82及存储在存储器81上并可在处理器82上运行的计算机程序;处理器82执行计算机程序的情况下,进行步骤s110

s120的信息加载方法;或进行步骤s210

s230的信息加载方法。
255.其中,存储器81保存第一程序,处理器82读取第一程序进行步骤s110

s120的情况下,该电子设备可以为客户端设备;存储器81保存第二程序,处理器82读取第二程序进行步骤s210

s230的情况下,该电子设备可以为服务端设备。
256.本技术再一示例性实施还提供了一种计算机存储介质,存储有计算机程序,计算机程序被处理器执行的情况下进行步骤s110

s120的信息加载方法,或进行步骤s210

s230的信息加载方法。
257.计算机存储介质保存第一程序的情况下,可以是作为客户端的计算机存储介质;保存第二程序的情况下,可以是作为服务端的计算机存储介质。
258.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd

rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他
磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献