内容获取方法及装置的制造方法

文档序号:9579362阅读:214来源:国知局
内容获取方法及装置的制造方法
【技术领域】
[0001]本发明涉及互联网技术领域,特别涉及一种内容获取方法及装置。
【背景技术】
[0002]出于安全方面的考虑,大多数浏览器都禁止不同域页面之间的跨域访问,即浏览器禁止A域中页面中的js访问B域的页面。但在实际使用过程中,浏览器经常需要进行跨域访问,现有技术通常采用服务器代理的方式来实现跨域访问。
[0003]采用服务器代理的方式实现跨域访问时,A域的服务器中预先建立代理,当A域中页面中的js需要访问B域的页面时,浏览器向该代理发送访问请求,由该代理根据访问请求从B域的服务器中获取相应的页面数据,并将获取到的页面数据返回给浏览器,从而实现跨域访问。
[0004]在实现本发明的过程中,发明人发现上述技术至少存在以下问题:通过服务器代理的方式实现跨域访问,需要预先在服务器中建立代理,开发成本较高,且服务器的处理压力较大。

【发明内容】

[0005]为了解决通过服务器代理的方式实现跨域访问,需要预先在服务器中建立代理,开发成本较高,且服务器的处理压力较大的问题,本发明实施例提供了一种内容获取方法及装置。所述技术方案如下:
[0006]第一方面,提供了一种内容获取方法,该方法包括:
[0007]通过script (脚本)方式加载第一页面中包含的第二页面对应的脚本文件;第一页面与第二页面所在域不同;
[0008]通过预设回调函数获取脚本文件中包含的HTML(HyperText Markup Language,超文本标记语言)内容;该脚本文件中的HTML内容预先封装在函数声明中;
[0009]根据获取到的HTML内容在第一页面中执行相应操作。
[0010]在一种可能的实现方式中,该HTML内容封装在函数声明所指示的方法的返回值部分;
[0011]通过预设回调函数获取脚本文件中包含的HTML内容,包括:
[0012]通过该预设回调函数执行函数声明所指示的方法;
[0013]获取该方法的返回值部分。
[0014]在一种可能的实现方式中,根据获取到的HTML内容在第一页面中执行相应操作,包括:
[0015]对获取到的HTML内容的全部内容或指定的部分内容进行解析,并在第一页面中进行显示。
[0016]在一种可能的实现方式中,该脚本文件是第二页面对应的HTML文件经过编译工具编译后转换得到的,该HTML文件中包含HTML内容。
[0017]在一种可能的实现方式中,该HTML内容预先经过去除注释处理和/或去除换行符处理。
[0018]第二方面,提供了一种内容获取装置,该装置包括:
[0019]加载模块,用于通过script方式加载第一页面中包含的第二页面对应的脚本文件;第一页面与第二页面所在域不同;
[0020]获取模块,用于通过预设回调函数获取该脚本文件中包含的HTML内容;该脚本文件中的HTML内容预先封装在函数声明中;
[0021]操作模块,用于根据获取到的HTML内容在第一页面中执行相应操作。
[0022]在一种可能的实现方式中,HTML内容封装在函数声明所指示的方法的返回值部分;
[0023]获取模块,包括:
[0024]执行子模块,用于通过预设回调函数执行函数声明所指示的方法;
[0025]获取子模块,用于获取方法的返回值部分。
[0026]在一种可能的实现方式中,操作模块,还用于对获取到的HTML内容的全部内容或指定的部分内容进行解析,并在第一页面中进行显示。
[0027]在一种可能的实现方式中,脚本文件是第二页面对应的HTML文件经过编译工具编译后转换得到的,该HTML文件中包含HTML内容。
[0028]在一种可能的实现方式中,该HTML内容预先经过去除注释处理和/或去除换行符处理。
[0029]本发明实施例提供的技术方案带来的有益效果是:
[0030]通过script方式加载第一页面中包含的第二页面对应的脚本文件,第一页面与第二页面所在域不同,使用预设回调函数获取该脚本文件中包含的HTML内容,并根据获取到的HTML内容在第一页面中执行相应操作;解决了通过服务器代理的方式实现跨域访问,需要预先在服务器中建立代理,开发成本较高,且服务器的处理压力较大的问题;达到了预先采用函数声明式的封装方式将页面对应的HTML内容封装在脚本文件中,当浏览器需要跨域访问该页面时,只需要使用script方式加载该页面对应的脚本文件,即可获取到该页面的HTML内容,整个访问过程由浏览器执行,不需要在服务器设置代理,从而减轻服务器的处理压力,降低开发成本。
[0031]应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
【附图说明】
[0032]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0033]图1是本发明一个实施例提供的内容获取方法的方法流程图;
[0034]图2A是本发明另一个实施例提供的内容获取方法的方法流程图;
[0035]图2B是图2A提供的内容获取方法所涉及的HTML内容获取过程的方法流程图;
[0036]图3是本发明一个实施例提供的内容获取装置的结构方框图;
[0037]图4是本发明另一个实施例提供的内容获取装置的结构方框图。
【具体实施方式】
[0038]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0039]本发明各个实施例提供的内容获取方法,可以由安装有浏览器的电子设备来实现。该电子设备可以是智能电视、智能手机、平板电脑、电子书阅读器、MP3播放器(MovingPicture Experts Group Aud1 Layer III,动态影像压缩标准音频层面 3)、MP4 (MovingPicture Experts Group Aud1 Layer IV,动态影像压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
[0040]为了简化描述,下文中仅以内容获取方法由电子设备中安装的浏览器执行来举例说明,但对此不构成限定。
[0041]为了方便理解,首先对两个页面所在域不同的具体情况进行说明。以两个页面分别为第一页面和第二页面为例,第一页面和第二页面不属于同一域包括下面几种情况。
[0042]1、同一域名,不同端口。
[0043]比如,第一页面的url (Uniform Resource Locator,同一资源定位符)为 http://www.a.com:8000/a.js,第二页面的 url 为 http://www.a.com/b.js,
[0044]2、同一域名,不同协议。
[0045]比如,第一页面的url 为 http://www.a.com/a.js,第二页面的 url 为 https://www.a.com/b.js。
[0046]3、域名和域名对应IP (Internet Protocol,互联网协议)。
[0047]比如,第一页面的url采用域名方式表示为http://www.a.com/a.js,第二页面的url 采用 IP 地址方式表示为 http://70.32.92.74/b.js。
[0048]4、主域相同,子域不同。
[0049]比如,第一页面的url 为 http://www.a.com/a.js,第二页面的 url 为 http://script, a.com/b.js。
[0050]5、域名不同。
[0051]比如,第一页面的url 为 http://www.a.com/a.js,第二页面的 url 为 http://www.b.com/b.js。
[0052]图1是本发明一个实施例提供的内容获取方法的方法流程图。本实施例以该内容获取方法应用于电子设备中安装的浏览器来举例说明。该方法包括:
[0053]步骤102,通过script方式加载第一页面中包含的第二页面对应的脚本文件;第一页面与第二页面所在域不同。
[0054]通常情况下,该脚本文件的文件类型可以为.js格式,在其他可能的实现方式中,该脚本文件还可以采用其他预定的文件类型,本发明并不对此进行限定。
[0055]步骤104,通过预设回调函数获取脚本文件中包含的HTML内容;该脚本文件中的HTML内容预先封装在函数声明中。
[0056]由于采用script方式默认获取的为脚本文件,若采用script方式直接获取第二页面对应的HTML文件,浏览器会因为将HTML文件当做脚本文件执行而报错,导致无法完成访问,所以在开发第二页面的过程中,预先通过编译工具将第二页面对应的HTML文件转换为脚本文件,并将HTML文件中的
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1