CN103870551B - 一种跨域数据获取的方法和装置 - Google Patents
一种跨域数据获取的方法和装置 Download PDFInfo
- Publication number
- CN103870551B CN103870551B CN201410073546.XA CN201410073546A CN103870551B CN 103870551 B CN103870551 B CN 103870551B CN 201410073546 A CN201410073546 A CN 201410073546A CN 103870551 B CN103870551 B CN 103870551B
- Authority
- CN
- China
- Prior art keywords
- web page
- domain
- page code
- target
- hash
- 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
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/951—Indexing; Web crawling techniques
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)
- Information Transfer Between Computers (AREA)
Abstract
本公开是关于一种跨域数据获取的方法和装置,属于互联网技术领域。所述方法包括:执行第一域的第一网页代码,触发向第二域的服务器获取所述第二域的第二网页代码;通过所述第二网页代码,向所述第二域的服务器获取目标数据;将所述目标数据传递给所述第一网页代码。采用本公开,可以提高跨域数据获取的灵活性。
Description
技术领域
本公开涉及互联网技术领域,特别涉及一种跨域数据获取的方法和装置。
背景技术
随着网络技术和计算机技术的飞速发展,互联网已经成为了人们日常生活、工作中非常重要的工具之一。浏览器是用户访问互联网时最常使用的一种工具。在使用浏览器访问互联网时,有时需要进行跨域数据获取,跨域数据获取是指某个域(如www.sina.com)的网页代码在执行过程中触发终端向其它域(如www.qq.com)的服务器获取数据,这里获取的数据为字符串数据。
在进行跨域数据获取时一般采用JSONP(JSON with Padding)技术,该技术中,通过在网页代码中设置script(脚本)标签,使终端向上述其它域的服务器发送HTTP(Hypertext Transfer Protocol,超文本传输协议)GET(获取)请求,该服务器根据请求返回一段脚本,其中包含有请求的数据,然后,终端执行这段脚本,便可以提取出其中的数据。
在实现本公开的过程中,发明人发现相关技术至少存在以下问题:
通过JSONP技术,只能实现跨域的HTTP GET请求,而其它类型的数据请求无法实现,这样,在很多情况下,无法通过该技术进行跨域数据获取,从而,导致跨域数据获取的灵活性较差。
发明内容
为了解决相关技术的问题,本公开实施例提供了一种跨域数据获取的方法和装置,以提高跨域数据获取的灵活性。所述技术方案如下:
一方面,提供了一种跨域数据获取的方法,所述方法包括:
执行第一域的第一网页代码,触发向第二域的服务器获取所述第二域的第二网页代码;
通过所述第二网页代码,向所述第二域的服务器获取目标数据;
将所述目标数据传递给所述第一网页代码。
可选的,所述通过所述第二网页代码,向所述第二域的服务器获取目标数据,包括:
执行所述第二网页代码,以加载预设的哈希改变触发事件,对目标统一资源定位器URL的哈希HASH字段进行监测,其中,所述目标URL为第一网页代码中触发获取所述第二网页代码的标签中设置的第二网页代码的URL;
通过所述第一网页代码,对所述目标URL的HASH字段进行修改;
当监测到所述目标URL的HASH字段发生改变时,执行所述哈希改变触发事件,向所述第二域的服务器获取目标数据。
可选的,所述通过所述第一网页代码,对所述目标URL的HASH字段进行修改,包括:
通过所述第一网页代码,将所述目标URL的HASH字段设置为目标哈希信息,所述目标哈希信息包含有所述第一网页代码中预设的指示信息;
所述执行所述哈希改变触发事件,向所述第二域的服务器获取目标数据,包括:
执行所述哈希改变触发事件,根据所述目标哈希信息中的所述指示信息,向所述第二域的服务器发送数据请求,并接收所述第二域的服务器反馈的目标数据。
可选的,所述目标哈希信息还包含有所述第一网页代码中预设的验证信息;
所述执行所述哈希改变触发事件,根据所述目标哈希信息中的所述指示信息,向所述第二域的服务器发送数据请求,并接收所述第二域的服务器反馈的目标数据,包括:
执行所述哈希改变触发事件,对所述目标哈希信息中的所述验证信息进行验证,如果验证通过,则根据所述目标哈希信息中的所述指示信息,向所述第二域的服务器发送数据请求,并接收所述第二域的服务器反馈的目标数据。
可选的,所述将所述目标数据传递给所述第一网页代码,包括:
通过所述第二网页代码,将所述目标数据赋值给第一变量,其中,所述第一变量是变量值不随浏览器会话中域的改变而改变的变量;
通过所述第二网页代码,向所述第一域的服务器获取所述第一域的第三网页代码;
通过所述第三网页代码,从所述第一变量中获取所述目标数据,并将所述目标数据赋值给所述第一网页代码中的目标变量。
另一方面,提供了一种跨域数据获取的装置,所述装置包括:
执行模块,用于执行第一域的第一网页代码,触发向第二域的服务器获取所述第二域的第二网页代码;
获取模块,用于通过所述第二网页代码,向所述第二域的服务器获取目标数据;
传递模块,用于将所述目标数据传递给所述第一网页代码。
可选的,所述获取模块,用于:
执行所述第二网页代码,以加载预设的哈希改变触发事件,对目标统一资源定位器URL的哈希HASH字段进行监测,其中,所述目标URL为第一网页代码中触发获取所述第二网页代码的标签中设置的第二网页代码的URL;
通过所述第一网页代码,对所述目标URL的HASH字段进行修改;
当监测到所述目标URL的HASH字段发生改变时,执行所述哈希改变触发事件,向所述第二域的服务器获取目标数据。
可选的,所述获取模块,用于:
通过所述第一网页代码,将所述目标URL的HASH字段设置为目标哈希信息,所述目标哈希信息包含有所述第一网页代码中预设的指示信息;
所述执行所述哈希改变触发事件,向所述第二域的服务器获取目标数据,包括:
执行所述哈希改变触发事件,根据所述目标哈希信息中的所述指示信息,向所述第二域的服务器发送数据请求,并接收所述第二域的服务器反馈的目标数据。
可选的,所述目标哈希信息还包含有所述第一网页代码中预设的验证信息;
所述获取模块,用于:
执行所述哈希改变触发事件,对所述目标哈希信息中的所述验证信息进行验证,如果验证通过,则根据所述目标哈希信息中的所述指示信息,向所述第二域的服务器发送数据请求,并接收所述第二域的服务器反馈的目标数据。
可选的,所传递模块,用于:
通过所述第二网页代码,将所述目标数据赋值给第一变量,其中,所述第一变量是变量值不随浏览器会话中域的改变而改变的变量;
通过所述第二网页代码,向所述第一域的服务器获取所述第一域的第三网页代码;
通过所述第三网页代码,从所述第一变量中获取所述目标数据,并将所述目标数据赋值给所述第一网页代码中的目标变量。
本公开的一些有益效果可以包括:
本公开实施例中,执行第一域的第一网页代码,触发向第二域的服务器获取第二域的第二网页代码,通过第二网页代码,向第二域的服务器获取目标数据,将目标数据传递给第一网页代码。该处理过程中,借助同域数据获取过程来实现跨域数据获取,第二域的第二网页代码向第二域的服务器获取数据属于同域数据获取,可以支持任意类型的数据请求,因此,可以提高跨域数据获取的灵活性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,并不构成对本公开的限定。在附图中:
图1是本公开实施例提供的跨域数据获取的方法的示例性流程图;
图2是本公开实施例提供的跨域数据获取的方法的示例性流程图;
图3是本公开实施例提供的跨域数据获取的方法的示例性流程图;
图4是本公开实施例提供的跨域数据获取的装置的示例性结构图;
图5是本公开实施例提供的终端的示例性结构图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本公开做进一步详细说明。在此,本公开的示意性实施方式及其说明用于解释本公开,但并不作为对本公开的限定。
本公开实施例提供一种跨域数据获取的方法和装置,以下结合附图对本公开进行详细说明。
本公开实施例提供了一种跨域数据获取的方法,如图1所示,该方法的处理流程可以包括如下步骤:
在步骤101中,执行第一域的第一网页代码,触发向第二域的服务器获取第二域的第二网页代码。
在步骤102中,通过第二网页代码,向第二域的服务器获取目标数据。
在步骤103中,将目标数据传递给第一网页代码。
本公开实施例中,执行第一域的第一网页代码,触发向第二域的服务器获取第二域的第二网页代码,通过第二网页代码,向第二域的服务器获取目标数据,将目标数据传递给第一网页代码。该处理过程中,借助同域数据获取过程来实现跨域数据获取,第二域的第二网页代码向第二域的服务器获取数据属于同域数据获取,可以支持任意类型的数据请求,因此,可以提高跨域数据获取的灵活性。
本公开实施例提供了一种跨域数据获取的方法,该方法的执行主体可以为任意安装有浏览器的设备,如计算机、手机、平板电脑等终端,本实施例以终端作为执行主体为例来进行方案的详细说明,其它执行主体的情况下与此类似,本实施例中不再赘述。
下面将结合具体实施方式,对图1所示的处理流程进行详细的说明,内容可以如下:
在步骤101中,执行第一域的第一网页代码,触发向第二域的服务器获取第二域的第二网页代码,本实施例的方法可以用于终端中。
其中,第一域和第二域可以是任意域名对应的域,且第一域和第二域是不同的域,例如,第一域为www.A.com,第二域为www.B.com。第一网页代码是第一网页的网页代码,第一网页是第一域的任意网页,可以是主页也可以是子页。第二域的服务器可以是第二域的网站服务器,存储有第二域的各网页的网页代码。第二网页代码是为其它域向第二域进行跨域数据获取而在第二域中设置的网页代码,该网页代码可以用于执行向第二域的服务器发送数据请求以获取相应的数据,该网页代码是一个逻辑网页的代码,不存在实际的网页,只用于执行预定的功能,此逻辑网页可称作代理网页。
在实施中,第二域的运营方可以预先在第二域中设置第二网页代码,存储于第二域的服务器中,将第二网页代码对应的URL(Uniform Resoure Locator,统一资源定位器)可以设置为www.B.com/proxy.htm。第二域的运营方可以将该URL通知给与其有合作关系的其它域的运营方,如第一域的运营方。第一域的运营方在制作第一网页时,如果需要在第一网页中跨域获取第二域的数据,可以在第一网页代码中创建一个iframe(内嵌框架)标签,将iframe标签中的src(引用地址)属性设置为第二网页代码的URL。
用户在浏览器的地址栏中输入第一网页的URL(假设为www.A.com)并启动访问后,终端会向第一域的服务器获取第一网页代码,并执行第一网页代码,当执行到iframe标签时,会触发终端向第二域的服务器发送URL为www.B.com/proxy.htm的网页请求,第二域的服务器向终端返回第二网页代码,终端获取到第二网页代码时便开始执行第二网页代码。
在步骤102中,通过第二网页代码,向第二域的服务器获取目标数据,本实施例的方法可以用于终端中。
其中,目标数据是第一网页中想要跨域获取的数据。
在实施中,在创建第二网页代码时,可以在其中设置相应的语句,用于向第二域的服务器发送数据请求,以获取目标数据。可选的,如图2所示,可以按照如下的执行方式进行该步骤的处理:
在步骤201中,执行第二网页代码,以加载预设的哈希改变触发事件,对目标URL的HASH字段进行监测,本实施例的方法可以用于终端中。
其中,目标URL为第一网页代码中触发获取第二网页代码的标签中设置的第二网页代码的URL,可选的,该目标URL为上述iframe标签的src属性中的URL。哈希改变(HASHCHANGE)触发事件是在监控的URL中HASH(哈希)字段发生改变时触发执行的事件,HASH字段是URL中的一种参数字段,是URL中#后面的字符串内容,HASH字段发生改变可以是增加、修改或删除。
在实施中,在第二网页代码中可以设置相应的语句,用于加载一个哈希改变触发事件,该哈希改变触发事件的执行内容可以预先设置,这里,设置其执行内容为向第二域的服务器发送数据请求以获取目标数据。终端获取到第二网页代码后,执行第二网页代码,便可以触发加载该哈希改变触发事件,开始对iframe标签的src属性中的URL的HASH字段进行监控,该监控处理可以是实时监控,也可以是按预设周期监控。
在步骤202中,通过第一网页代码,对目标URL的HASH字段进行修改,本实施例的方法可以用于终端中。
在实施中,在第一网页代码的iframe标签后面的代码中,可以设置语句对iframe标签的src属性中URL的HASH字段进行修改,用于触发执行上述已加载的哈希改变触发事件,HASH字段的修改不会触发iframe标签的重新加载。如果该URL中HASH字段初始为空,此修改可以是增加指定的HASH字段内容,相应的,步骤202的处理过程可以是:通过第一网页代码,将目标URL的HASH字段设置为目标哈希信息,目标哈希信息可以包含有第一网页代码中预设的指示信息。
其中,指示信息是第二网页代码或第二域的服务器可以解读的信息,可以由第一域的运营方和第二域的运营方约定设置。
在实施中,在上述用于修改HASH字段的语句中,可以预先设置指示信息,在对iframe标签的src属性中URL的HASH字段进行修改时,将该HASH字段设置为包含该指示信息的目标哈希信息。例如,URL原来为www.B.com/proxy.htm,可以将其修改为www.B.com/proxy.htm#data={123},其中,data={}可以是两运营方预先约定的格式,123可以是指示的内容,123只是用于举例,实际内容可以根据需求设置。对src属性的设置,可以通过对iframe标签的location.href属性的设置来间接完成。通过这种方式,可以实现第一网页代码向第二网页代码传递信息。
在步骤203中,当监测到目标URL的HASH字段发生改变时,执行哈希改变触发事件,向第二域的服务器获取目标数据,本实施例的方法可以用于终端中。
该步骤中,哈希改变触发事件获取目标数据的方式可以多种多样,对于上述在HASH字段中设置指示信息的情况,该步骤的处理可以是:当监测到目标URL的HASH字段发生改变时,执行哈希改变触发事件,根据目标哈希信息中的指示信息,向第二域的服务器发送数据请求,并接收第二域的服务器反馈的目标数据。
在实施中,执行哈希改变触发事件的过程,可以获取改变后的HASH字段的内容,即目标哈希信息,然后,可以将指示信息(如上述data={123})直接加入到数据请求中,也可以将指示信息中的指定字段(如上述123)加入到数据请求中,还可以在哈希改变触发事件中预先设置一定的转换机制,根据指示信息得到对应的请求内容,加入到数据请求中。再后将数据请求发送给服务器。服务器接收到数据请求后,根据数据请求获取对应的目标数据。例如,请求内容是获取账户A的昵称,服务器可以在数据库中查找账户A对应的昵称,如小明,然后将“小明”反馈给终端。这样,第二网页代码就获取到了请求的目标数据。
可选的,在上述步骤201-203的处理过程中,还可以设置安全验证机制,相应的,目标哈希信息还可以包含有第一网页代码中预设的验证信息,步骤203的处理可以如下:执行哈希改变触发事件,对目标哈希信息中的验证信息进行验证,如果验证通过,则根据目标哈希信息中的指示信息,向第二域的服务器发送数据请求,并接收第二域的服务器反馈的目标数据。
在实施中,第一域的运营方和第二域的运营方可以预先约定验证方式,在第一网页代码中设置目标哈希信息,目标哈希信息由验证信息和指示信息组成。例如,修改后的URL可以为www.B.com/proxy.htm#验证信息1&&data={123},目标哈希信息的格式可以预先约定,其中的&&为约定的分隔符。执行哈希改变触发事件时,获取该验证信息,并根据哈希改变触发事件中的验证机制对该验证信息进行验证,验证通过,则进行上述的数据获取的过程。如果验证失败,可以阻止向第二域的服务器进行数据获取,并可以结束哈希改变触发事件的处理。
在步骤103中,将目标数据传递给第一网页代码,本实施例的方法可以用于终端中。
在实施中,将目标数据传递给第一网页代码的方式可以根据需求设置,以下给出了一种可选的处理方式,如图3所示,包括以下步骤:
在步骤301中,通过第二网页代码,将目标数据赋值给第一变量,本实施例的方法可以用于终端中。
其中,第一变量是变量值不随浏览器会话中域的改变而改变的变量,可选的,第一变量可以为window.name变量。
在实施中,在接收到第二域的服务器发送的目标数据后,第二网页代码可以继续执行,可以在第二网页代码中设置相应的语句,将目标数据赋值给window.name变量。
在步骤302中,通过第二网页代码,向第一域的服务器获取第一域的第三网页代码,本实施例的方法可以用于终端中。
其中,第三网页代码是在第一域中设置的用于将目标数据传递给第一网页代码的网页代码,该网页代码是一个逻辑网页的代码,不存在实际的网页,只用于执行预定的功能,此逻辑网页可称作代理网页。
在实施中,第一域的运营方可以预先在第一域中设置第三网页代码,存储于第一域的服务器中,可以将其URL设置为www.A.com/proxy.htm,并将该URL通知给第二域的运营方,以将该URL设置在第二网页代码中。在第二网页代码中,可以设置相应的语句,用于执行将第二网页代码的location.href属性设置为第三网页代码的URL,在将目标数据赋值给window.name变量后,则可以执行该语句,将第二网页代码的location.href属性设置为第三网页代码的URL,这将触发向第一域的服务器请求获取第三网页代码。
在步骤303中,通过第三网页代码,从第一变量中获取目标数据,并将目标数据赋值给第一网页代码中的目标变量,本实施例的方法可以用于终端中。
其中,目标变量可以是预先指定的第一网页代码中的变量。
在实施中,可以在第三网页代码中设置相应的语句,用于读取window.name变量中的目标数据,将目标数据赋值给目标变量,并跳转至执行第一网页代码。终端获取到第三网页代码后会自动执行第三网页代码,根据window.name变量的特性,在第二域到第一域的跳转过程中window.name变量的变量值不会被初始化。执行第三网页代码,将读取window.name变量中的目标数据,将目标数据赋值给目标变量,然后跳转至执行第一网页代码。此后,第一网页代码可以使用目标数据进行后续的处理,例如,可以在浏览器中对目标数据进行展示。
本公开实施例中,执行第一域的第一网页代码,触发向第二域的服务器获取第二域的第二网页代码,通过第二网页代码,向第二域的服务器获取目标数据,将目标数据传递给第一网页代码。该处理过程中,借助同域数据获取过程来实现跨域数据获取,第二域的第二网页代码向第二域的服务器获取数据属于同域数据获取,可以支持任意类型的数据请求,因此,可以提高跨域数据获取的灵活性。
基于相同的技术构思,本公开实施例还提供了一种跨域数据获取的装置,如图4所示,所述装置包括:
执行模块410,用于执行第一域的第一网页代码,触发向第二域的服务器获取所述第二域的第二网页代码;
获取模块420,用于通过所述第二网页代码,向所述第二域的服务器获取目标数据;
传递模块430,用于将所述目标数据传递给所述第一网页代码。
可选的,所述获取模块420,用于:
执行所述第二网页代码,以加载预设的哈希改变触发事件,对目标统一资源定位器URL的哈希HASH字段进行监测,其中,所述目标URL为第一网页代码中触发获取所述第二网页代码的标签中设置的第二网页代码的URL;
通过所述第一网页代码,对所述目标URL的HASH字段进行修改;
当监测到所述目标URL的HASH字段发生改变时,执行所述哈希改变触发事件,向所述第二域的服务器获取目标数据。
可选的,所述获取模块420,用于:
通过所述第一网页代码,将所述目标URL的HASH字段设置为目标哈希信息,所述目标哈希信息包含有所述第一网页代码中预设的指示信息;
所述执行所述哈希改变触发事件,向所述第二域的服务器获取目标数据,包括:
执行所述哈希改变触发事件,根据所述目标哈希信息中的所述指示信息,向所述第二域的服务器发送数据请求,并接收所述第二域的服务器反馈的目标数据。
可选的,所述目标哈希信息还包含有所述第一网页代码中预设的验证信息;
所述获取模块420,用于:
执行所述哈希改变触发事件,对所述目标哈希信息中的所述验证信息进行验证,如果验证通过,则根据所述目标哈希信息中的所述指示信息,向所述第二域的服务器发送数据请求,并接收所述第二域的服务器反馈的目标数据。
可选的,所传递模块430,用于:
通过所述第二网页代码,将所述目标数据赋值给第一变量,其中,所述第一变量是变量值不随浏览器会话中域的改变而改变的变量;
通过所述第二网页代码,向所述第一域的服务器获取所述第一域的第三网页代码;
通过所述第三网页代码,从所述第一变量中获取所述目标数据,并将所述目标数据赋值给所述第一网页代码中的目标变量。
本公开实施例中,执行第一域的第一网页代码,触发向第二域的服务器获取第二域的第二网页代码,通过第二网页代码,向第二域的服务器获取目标数据,将目标数据传递给第一网页代码。该处理过程中,借助同域数据获取过程来实现跨域数据获取,第二域的第二网页代码向第二域的服务器获取数据属于同域数据获取,可以支持任意类型的数据请求,因此,可以提高跨域数据获取的灵活性。
图5是根据一示例性实施例示出的一种用于跨域数据获取的终端800的框图。例如,终端800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,终端800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制终端800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理部件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在终端800的操作。这些数据的示例包括用于在终端800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件806为终端800的各种组件提供电力。电力组件806可以包括电源管理系统,一个或多个电源,及其他与为终端800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述终端800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当终端800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当终端800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为终端800提供各个方面的状态评估。例如,传感器组件814可以检测到终端800的打开/关闭状态,组件的相对定位,例如所述组件为终端800的显示器和小键盘,传感器组件814还可以检测终端800或终端800一个组件的位置改变,用户与终端800接触的存在或不存在,终端800方位或加速/减速和终端800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于终端800和其他设备之间有线或无线方式的通信。终端800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,终端800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由终端800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种跨域数据获取的方法,所述方法包括:
执行第一域的第一网页代码,触发向第二域的服务器获取第二域的第二网页代码;
通过第二网页代码,向第二域的服务器获取目标数据;
将所述目标数据传递给第一网页代码。
在一个实施例中,通过所述第二网页代码,向所述第二域的服务器获取目标数据,包括:
执行第二网页代码,以加载预设的哈希改变触发事件,对目标统一资源定位器URL的哈希HASH字段进行监测,其中,目标URL为第一网页代码中触发获取第二网页代码的标签中设置的第二网页代码的URL;
通过第一网页代码,对目标URL的HASH字段进行修改;
当监测到目标URL的HASH字段发生改变时,执行哈希改变触发事件,向第二域的服务器获取目标数据。
在一个实施例中,通过第一网页代码,对目标URL的HASH字段进行修改,包括:
通过第一网页代码,将目标URL的HASH字段设置为目标哈希信息,目标哈希信息包含有第一网页代码中预设的指示信息;
执行哈希改变触发事件,向第二域的服务器获取目标数据,包括:
执行哈希改变触发事件,根据目标哈希信息中的指示信息,向第二域的服务器发送数据请求,并接收第二域的服务器反馈的目标数据。
在一个实施例中,目标哈希信息还包含有第一网页代码中预设的验证信息;
执行哈希改变触发事件,根据目标哈希信息中的指示信息,向第二域的服务器发送数据请求,并接收第二域的服务器反馈的目标数据,包括:
执行哈希改变触发事件,对目标哈希信息中的验证信息进行验证,如果验证通过,则根据目标哈希信息中的指示信息,向第二域的服务器发送数据请求,并接收第二域的服务器反馈的目标数据。
在一个实施例中,将目标数据传递给第一网页代码,包括:
通过第二网页代码,将目标数据赋值给第一变量,其中,第一变量是变量值不随浏览器会话中域的改变而改变的变量;
通过第二网页代码,向第一域的服务器获取第一域的第三网页代码;
通过第三网页代码,从第一变量中获取目标数据,并将目标数据赋值给第一网页代码中的目标变量。
本公开实施例中,执行第一域的第一网页代码,触发向第二域的服务器获取第二域的第二网页代码,通过第二网页代码,向第二域的服务器获取目标数据,将目标数据传递给第一网页代码。该处理过程中,借助同域数据获取过程来实现跨域数据获取,第二域的第二网页代码向第二域的服务器获取数据属于同域数据获取,可以支持任意类型的数据请求,因此,可以提高跨域数据获取的灵活性。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (4)
1.一种跨域数据获取的方法,其特征在于,所述方法包括:
执行第一域的第一网页代码,触发向第二域的服务器获取所述第二域的第二网页代码;
执行所述第二网页代码,以加载预设的哈希改变触发事件,对目标统一资源定位器URL的哈希HASH字段进行监测,其中,所述目标URL为第一网页代码中触发获取所述第二网页代码的标签中设置的第二网页代码的URL;
通过所述第一网页代码,将所述目标URL的HASH字段设置为目标哈希信息,所述目标哈希信息包含有所述第一网页代码中预设的指示信息和所述第一网页代码中预设的验证信息,所述指示信息是所述第二网页代码或所述第二域的服务器可以解读的信息,由第一域的运营方和第二域的运营方约定设置;
当监测到所述目标URL的HASH字段发生改变时,执行所述哈希改变触发事件,对所述目标哈希信息中的所述验证信息进行验证,如果验证通过,则根据所述目标哈希信息中的所述指示信息,向所述第二域的服务器发送数据请求,并接收所述第二域的服务器反馈的目标数据;
将所述目标数据传递给所述第一网页代码。
2.根据权利要求1所述的方法,其特征在于,所述将所述目标数据传递给所述第一网页代码,包括:
通过所述第二网页代码,将所述目标数据赋值给第一变量,其中,所述第一变量是变量值不随浏览器会话中域的改变而改变的变量;
通过所述第二网页代码,向所述第一域的服务器获取所述第一域的第三网页代码;
通过所述第三网页代码,从所述第一变量中获取所述目标数据,并将所述目标数据赋值给所述第一网页代码中的目标变量。
3.一种跨域数据获取的装置,其特征在于,所述装置包括:
执行模块,用于执行第一域的第一网页代码,触发向第二域的服务器获取所述第二域的第二网页代码;
获取模块,用于执行所述第二网页代码,以加载预设的哈希改变触发事件,对目标统一资源定位器URL的哈希HASH字段进行监测,其中,所述目标URL为第一网页代码中触发获取所述第二网页代码的标签中设置的第二网页代码的URL;通过所述第一网页代码,将所述目标URL的HASH字段设置为目标哈希信息,所述目标哈希信息包含有所述第一网页代码中预设的指示信息和所述第一网页代码中预设的验证信息,所述指示信息是所述第二网页代码或所述第二域的服务器可以解读的信息,由第一域的运营方和第二域的运营方约定设置;当监测到所述目标URL的HASH字段发生改变时,执行所述哈希改变触发事件,对所述目标哈希信息中的所述验证信息进行验证,如果验证通过,则根据所述目标哈希信息中的所述指示信息,向所述第二域的服务器发送数据请求,并接收所述第二域的服务器反馈的目标数据;
传递模块,用于将所述目标数据传递给所述第一网页代码。
4.根据权利要求3所述的装置,其特征在于,所述传递模块,用于:
通过所述第二网页代码,将所述目标数据赋值给第一变量,其中,所述第一变量是变量值不随浏览器会话中域的改变而改变的变量;
通过所述第二网页代码,向所述第一域的服务器获取所述第一域的第三网页代码;
通过所述第三网页代码,从所述第一变量中获取所述目标数据,并将所述目标数据赋值给所述第一网页代码中的目标变量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410073546.XA CN103870551B (zh) | 2014-02-28 | 2014-02-28 | 一种跨域数据获取的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410073546.XA CN103870551B (zh) | 2014-02-28 | 2014-02-28 | 一种跨域数据获取的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103870551A CN103870551A (zh) | 2014-06-18 |
CN103870551B true CN103870551B (zh) | 2018-02-23 |
Family
ID=50909081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410073546.XA Active CN103870551B (zh) | 2014-02-28 | 2014-02-28 | 一种跨域数据获取的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103870551B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105069006A (zh) * | 2015-06-30 | 2015-11-18 | 北京金山安全软件有限公司 | 一种用于访问跨域资源的方法及装置 |
CN105117347B (zh) * | 2015-09-24 | 2018-09-28 | 上海爱数信息技术股份有限公司 | 测试数据的模拟方法、系统及自动化测试方法、系统 |
CN108108381B (zh) * | 2016-11-25 | 2021-06-22 | 北京国双科技有限公司 | 页面的监测方法及装置 |
CN109992426A (zh) * | 2017-12-29 | 2019-07-09 | 北京奇虎科技有限公司 | 网页代码的检测方法、装置和计算机可读存储介质 |
CN109960765A (zh) * | 2019-02-27 | 2019-07-02 | 深圳点猫科技有限公司 | 一种基于编程语言对网页进行跨域通信的方法、电子设备 |
CN111327598B (zh) * | 2020-01-21 | 2022-04-19 | 深圳前海环融联易信息科技服务有限公司 | 项目免登录方法、装置、计算机设备及存储介质 |
CN113220396B (zh) * | 2021-05-11 | 2024-04-16 | 北京达佳互联信息技术有限公司 | 一种嵌入页面管理方法和装置、电子设备、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662460A (zh) * | 2008-08-25 | 2010-03-03 | 阿里巴巴集团控股有限公司 | 一种跨域通讯的方法、系统和装置 |
CN102143133A (zh) * | 2010-08-05 | 2011-08-03 | 华为技术有限公司 | Http流播放方式中支持广告内容的方法、装置和系统 |
CN103207863A (zh) * | 2012-01-13 | 2013-07-17 | 腾讯科技(深圳)有限公司 | 页面跨域交互方法及终端 |
CN103246667A (zh) * | 2012-02-08 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 数据跨域传递的方法及装置 |
CN103546570A (zh) * | 2013-10-29 | 2014-01-29 | 小米科技有限责任公司 | 网络客户端跨域请求数据的实现方法、装置及终端 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075240A (zh) * | 2006-08-25 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 跨域获取数据的方法和系统 |
CN101615179B (zh) * | 2008-06-25 | 2011-08-17 | 国际商业机器公司 | 用于Web应用的跨域交互的方法和系统 |
US9558289B2 (en) * | 2010-09-30 | 2017-01-31 | Microsoft Technology Licensing, Llc | Securely rendering online ads in a host page |
US9443257B2 (en) * | 2010-10-21 | 2016-09-13 | Yahoo! Inc. | Securing expandable display advertisements in a display advertising environment |
CN103023790A (zh) * | 2012-12-31 | 2013-04-03 | 北京京东世纪贸易有限公司 | 一种用于实现跨域交互访问的方法和系统 |
-
2014
- 2014-02-28 CN CN201410073546.XA patent/CN103870551B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662460A (zh) * | 2008-08-25 | 2010-03-03 | 阿里巴巴集团控股有限公司 | 一种跨域通讯的方法、系统和装置 |
CN102143133A (zh) * | 2010-08-05 | 2011-08-03 | 华为技术有限公司 | Http流播放方式中支持广告内容的方法、装置和系统 |
CN103207863A (zh) * | 2012-01-13 | 2013-07-17 | 腾讯科技(深圳)有限公司 | 页面跨域交互方法及终端 |
CN103246667A (zh) * | 2012-02-08 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 数据跨域传递的方法及装置 |
CN103546570A (zh) * | 2013-10-29 | 2014-01-29 | 小米科技有限责任公司 | 网络客户端跨域请求数据的实现方法、装置及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN103870551A (zh) | 2014-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103870551B (zh) | 一种跨域数据获取的方法和装置 | |
CN104270404B (zh) | 一种基于终端标识的登录方法及装置 | |
CN110489626A (zh) | 一种信息采集方法和装置 | |
CN104159275B (zh) | 网络连接方法及装置 | |
US11204681B2 (en) | Program orchestration method and electronic device | |
WO2015135381A1 (en) | Device, system, and method for creating virtual credit card field of the technology | |
CN104050266B (zh) | 用户行为记录方法、装置和网页浏览器 | |
CN104980580B (zh) | 短信息查看方法及装置 | |
CN104991916B (zh) | 网页的加载方法及装置 | |
CN104778405B (zh) | 广告拦截方法及装置 | |
CN107423106A (zh) | 支持多框架语法的方法和装置 | |
CN107766358A (zh) | 一种页面分享的方法及相关装置 | |
CN104391878A (zh) | 图书检索方法和装置 | |
CN109814942A (zh) | 一种参数处理方法及装置 | |
CN107301242A (zh) | 页面跳转的方法、装置以及存储介质 | |
CN104035977B (zh) | 网页加载方法及装置 | |
CN106293961A (zh) | 文本信息处理方法及装置 | |
CN109547480A (zh) | 一种登录方法及装置 | |
CN105786944A (zh) | 浏览器自动翻页的处理方法和装置 | |
CN109525652A (zh) | 信息分享方法、装置、设备和存储介质 | |
CN104111829A (zh) | 数据存储方法及装置 | |
CN104125267A (zh) | 账号保护方法、装置及终端设备 | |
CN104063424B (zh) | 网页图片的展现方法和展现装置 | |
CN104780153B (zh) | 信息过滤方法及装置 | |
CN106708967A (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 |