具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
首先对本公开的应用场景进行介绍。本公开可以应用于页面生成过程中,该页面可以指的是应用程序的页面、网站的页面等。示例地,技术人员需要根据已有的页面A得到另一页面B,例如对页面A中控件的颜色、尺寸、位置等参数进行修改,得到另一版本的页面B,相关技术中需要技术人员重新编写代码才能得到该页面B,本公开中不需要技术人员重新编写代码,技术人员可通过可视化编辑器进行操作,通过可视化编辑的方式对页面A进行编辑从而得到页面B,提高页面生成的效率。
图1是根据一示例性实施例示出的一种实施环境示意图,如图1所示,该实施环境可包括服务器101、可视化编辑器102、编辑软件开发工具包103、存储系统104。其中,服务器101与可视化编辑器102之间、以及服务器101与存储系统104之间可以进行通信耦合,例如可以采用3G、4G、5G、NB-IOT、eMTC、LTE、LTE-A等任一种方式进行通信。其中,存储系统104可用于存储处理后的页面内容信息,值得说明的是,存储系统104可作为本公开实施方式的可选系统,并不意味本公开实施方式必须包括该系统。可视化编辑器102与编辑软件开发工具包103之间可以进行通信耦合,例如采用postMessage等方式进行通信。可视化编辑器102与编辑软件开发工具包103可以集成于同一终端设备上,例如笔记本电脑、个人计算机等终端设备。
图2是根据一示例性实施例示出的一种页面生成方法的流程图,该方法可应用于服务器,如图1所示的服务器101,如图2所示,该方法可包括S201至S203。
在S201中,响应于接收到第一页面的页面地址信息,根据页面地址信息获取第一页面的原始页面内容信息。其中,该页面地址信息可以是可视化编辑器102在第一页面中未安装渲染软件开发工具包的情况下发送的。
第一页面可以是已有的基准页面,用户需要根据第一页面得到第一页面对应的另一版本的页面。相关技术中,用户使用可视化编辑器的功能对第一页面进行编辑,需要预先在第一页面中安装渲染软件开发工具包(SDK,Software Development Kit),这样可视化编辑器获取到的第一页面的页面内容信息中,也是包括渲染软件开发工具包的,渲染软件开发工具包可以主动拉取到编辑软件开发工具包。其中,编辑软件开发工具包用于对页面进行编辑,例如修改控件的颜色、尺寸等,渲染软件开发工具包用于渲染出编辑软件开发工具包编辑后的页面。在可视化编辑器获取到的第一页面的页面内容信息中包括编辑软件开发工具包的情况下,用户才能正常使用可视化编辑的方式对第一页面进行编辑。
然而需要用户预先在第一页面中安装渲染软件开发工具包给用户带来了不便,而且如果用户没有预先在第一页面中安装渲染软件开发工具包,无法由渲染软件开发工具包拉取到编辑软件开发工具包,用户则无法正常使用可视化编辑的功能,从而影响第一页面对应的另一版本页面的正常生成。
鉴于此,本公开中,用户通过终端设备输入第一页面的页面地址信息后,终端可首先判断第一页面中是否安装了渲染软件开发工具包,如果未安装可视化编辑器102可将第一页面的页面地址信息发送至服务器101。该页面地址信息可以是第一页面的URL(UniformResource Locator,统一资源定位器)。服务器101在接收到第一页面的页面地址信息后,可根据该页面地址信息获取第一页面的原始页面内容信息,并对原始页面内容信息进行处理。其中,页面内容信息可包括页面的HTML(Hyper Text Markup Language,超文本标记语言)信息。示例地,服务器101可通过无头浏览器(例如puppeteer)对页面地址信息进行加载,并获取加载完成后的第一页面的原始页面内容信息。
在S202中,对原始页面内容信息进行处理,得到目标页面内容信息。
本公开中可通过服务器101对原始页面内容信息进行处理,对原始页面内容信息的处理可包括将编辑软件开发工具包添加到原始页面内容信息中。其中,编辑软件开发工具包可以一段代码的形式进行表示,示例地,例如可通过append方法将编辑软件开发工具包添加到原始页面内容信息中。
在S203中,将目标页面内容信息发送至可视化编辑器,以由可视化编辑器根据目标页面内容信息生成第一页面对应的待编辑页面,并将根据用户针对待编辑页面的操作信息生成的编辑指令发送至编辑软件开发工具包,以便编辑软件开发工具包根据编辑指令对待编辑页面进行编辑并生成编辑后的第二页面。
目标页面内容信息中即包括编辑软件开发工具包,服务器101可将目标页面内容信息发送至可视化编辑器102,可视化编辑器102可根据目标页面内容信息生成第一页面对应的待编辑页面,该待编辑页面的前端展现内容可与第一页面相同。用户可通过可视化编辑器102针对待编辑页面进行操作,例如调整控件的颜色、尺寸、位置,修改页面标题的内容、样式、字体等,另外,用户还可进行撤销历史操作、选择重新编辑、截图等操作。可视化编辑器102可将根据用户针对待编辑页面的操作信息生成的编辑指令发送至编辑软件开发工具包103,编辑软件开发工具包103可根据编辑指令对待编辑页面进行编辑并生成编辑后的第二页面。
如此,不需要用户重新编写代码,通过可视化编辑的方式即可得到第二页面,提高页面生成效率。在一可选实施方式中,第一页面和第二页面可用于进行AB测试,可以降低AB测试所需页面的开发工作量,提高AB测试效率。
通过上述技术方案,服务器在接收到可视化编辑器发送的第一页面的页面地址信息的情况下,可根据该页面地址信息获取第一页面的原始页面内容信息,对原始页面内容信息进行处理,得到目标页面内容信息,并将目标页面内容信息发送至可视化编辑器,其中,对原始页面内容信息的处理包括将编辑软件开发工具包添加到原始页面内容信息中。如此,不需要用户预先在第一页面中安装渲染软件开发工具包,即使无法由渲染软件开发工具包拉取到编辑软件开发工具包,通过服务器对第一页面的原始页面内容信息进行处理,可得到添加编辑软件开发工具包后的目标页面内容信息。这样,即使用户未预先在第一页面中安装渲染软件开发工具包,也可以正常使用可视化编辑的功能,提高可视化编辑器的适用范围,用户通过可视化编辑的方式即可得到第二页面,提高页面生成效率。
本公开中,服务器101对原始页面内容信息的处理还可包括以下(1)和(2)中的至少一者,优选地,可包括以下(1)和(2)中的两者。
(1)获取原始页面内容信息中的第一预设标签,在第一预设标签的超文本引用属性指示第一预设标签的路径为相对路径的情况下,将第一预设标签的路径处理为绝对路径。
其中,该第一预设标签可包括链接标签,即<link>标签。在第一预设标签的超文本引用(href,Hypertext Reference)属性指示第一预设标签的路径为相对路径的情况下,可将该路径处理为绝对路径,在第一预设标签的路径为绝对路径的情况下,可以对该第一预设标签进行编辑。
(2)获取原始页面内容信息中的第二预设标签,在第二预设标签的资源位置属性指示第二预设标签的属性为相对属性的情况下,将第二预设标签的属性处理为绝对属性。
其中,第二预设标签可包括图片标签(<img>标签)和/或脚本标签(<script>标签)。第二预设标签的资源位置(src,source)属性指示第二预设标签的属性为相对属性的情况下,可将该属性处理为绝对属性,在第二预设标签的属性为绝对属性的情况下,可以对该第二预设标签进行编辑。例如在页面中某一图片的属性为绝对属性的情况下,可对该图片进行编辑。
下面以一个完整的实施例介绍本公开提供的页面生成方法,该实施例仅为示例性的,不构成对本公开实施方式的限制。图3是根据一示例性实施例示出的一种页面生成方法中服务器101、可视化编辑器102、编辑软件开发工具包103、存储系统104之间的交互图,如图3所示,页面生成方法可包括S301至S322。
在S301中,在第一页面中未安装渲染软件开发工具包的情况下,可视化编辑器102向服务器101发送第一页面的页面地址信息。
在S302中,服务器101接收可视化编辑器102发送的第一页面的页面地址信息,并根据该页面地址信息,确定是否缓存有目标页面内容信息。
其中,该目标页面内容信息是对第一页面的原始页面内容信息进行处理之后得到的页面内容信息,对原始页面内容信息的处理已在上文说明。服务器101在接收到第一页面的页面地址信息后,可首先确定是否缓存有第一页面对应的目标页面内容信息,如果缓存的有,可执行S303,之后执行S317,如果缓存的没有,可执行S304和S305。
在S303中,在缓存有目标页面内容信息的情况下,服务器101获取缓存的目标页面内容信息。
其中,服务器101在对第一页面的原始页面内容信息进行处理之后,可缓存处理后的目标页面内容信息,例如缓存预设时长,如果在该预设时长内接收到第一页面的页面地址信息,则无需对第一页面的原始页面内容信息进行重复处理,可直接获取缓存的目标页面内容信息,在降低数据处理量的同时提高效率。
在S304中,在未缓存目标页面内容信息的情况下,服务器101根据页面地址信息获取第一页面的原始页面内容信息。
在S305中,服务器101对原始页面内容信息进行处理,得到目标页面内容信息。在一实施方式中,服务器101得到目标页面内容信息后,可直接将该目标页面内容信息发送至可视化编辑器102。在另一实施方式中,服务器101得到目标页面内容信息后,可继续执行S306至S308。
在S306中,服务器101生成页面地址信息对应的唯一识别码。
示例地,该唯一识别码可以为UUID(Universally Unique Identifier,通用唯一识别码)。
在S307中,服务器101将唯一识别码发送至可视化编辑器102。
在S308中,服务器101将唯一识别码和目标页面内容信息发送至存储系统104。
其中,存储系统104可用于存储处理后的目标页面内容信息。示例地,服务器101可目标页面内容信息以该唯一识别码作为文件名上传至存储系统104。
在S309中,可视化编辑器102接收服务器101发送的唯一识别码。
在S310中,存储系统104接收服务器101发送的唯一识别码和目标页面内容信息。
值得说明的是,对于S307和S308的执行顺序,以及S309和S310的执行顺序,本公开不做限制,S307也可在S308之后执行或二者也可并行执行,S309也可在S310之后执行或二者也可并行执行,图3所示顺序仅为示例性的。
在S311中,可视化编辑器102向服务器101发送根据唯一识别码和服务器101的路径信息生成的第一页面内容信息获取请求。其中,可视化编辑器102可根据唯一识别码和服务器101的路径信息拼接成地址,并通过该地址访问服务器101,该第一页面内容信息获取请求用于可视化编辑器102请求获取第一页面对应的处理后的目标页面内容信息。
在S312中,服务器101接收可视化编辑器102发送的第一页面内容信息获取请求,并根据唯一识别码和存储系统104的路径信息生成第二页面内容信息获取请求。
其中,服务器101可根据唯一识别码和存储系统104的路径信息拼接成地址,并通过该地址访问存储系统104。该第二页面内容信息获取请求用于服务器101请求获取第一页面对应的处理后的目标页面内容信息
在S313中,服务器101向存储系统104发送第二页面内容信息获取请求。
在S314中,存储系统104接收服务器101发送的第二页面内容信息获取请求。
在S315中,存储系统104向服务器101发送目标页面内容信息。
在S316中,服务器101接收存储系统104发送的目标页面内容信息。
这样,存储系统104可用于存储处理后的目标页面内容信息,可视化编辑器102通过唯一识别码,可以准确获取到第一页面对应的目标页面内容信息。
在S317中,服务器101将目标页面内容信息发送至可视化编辑器102。
在S318中,可视化编辑器102接收服务器101发送的目标页面内容信息,并根据目标页面内容信息生成第一页面对应的待编辑页面。
在S319中,可视化编辑器102响应于接收到用户针对待编辑页面的操作信息,根据该操作信息生成编辑指令。
在S320中,可视化编辑器102将编辑指令发送至编辑软件开发工具包103。
在S321中,编辑软件开发工具包103接收可视化编辑器102发送的编辑指令。
在S322中,编辑软件开发工具包103根据编辑指令对待编辑页面进行编辑并生成编辑后的第二页面。
通过上述技术方案,通过服务器对第一页面的原始页面内容信息进行处理,可得到添加编辑软件开发工具包后的目标页面内容信息。这样,即使用户未预先在第一页面中安装渲染软件开发工具包,也可以正常使用可视化编辑的功能,提高可视化编辑器的适用范围,用户通过可视化编辑的方式即可得到第二页面,提高页面生成效率。
图4是根据一示例性实施例示出的一种页面生成方法的流程图,该方法可应用于可视化编辑器,如图1所示的可视化编辑器102,如图4所示,该方法可包括S401至S403。
在S401中,在第一页面中未安装渲染软件开发工具包的情况下,向服务器发送第一页面的页面地址信息,以由服务器根据页面地址信息获取第一页面的原始页面内容信息,并对原始页面内容信息进行处理得到目标页面内容信息。其中,对原始页面内容信息的处理包括将编辑软件开发工具包添加到原始页面内容信息中。
在S402中,接收服务器发送的目标页面内容信息,并根据目标页面内容信息生成第一页面对应的待编辑页面。
在S403中,响应于接收到用户针对待编辑页面的操作信息,根据操作信息生成编辑指令,并将编辑指令发送至编辑软件开发工具包,以由编辑软件开发工具包根据编辑指令对待编辑页面进行编辑并生成编辑后的第二页面。
其中,图4所示方法中各个步骤的实施方式已在上文应用于服务器侧的页面生成方法中进行说明。
通过上述技术方案,在第一页面中未安装渲染软件开发工具包的情况下,可视化编辑器可向服务器发送第一页面的页面地址信息,服务器在接收到该页面地址信息的情况下,可根据该页面地址信息获取第一页面的原始页面内容信息,对原始页面内容信息进行处理,得到目标页面内容信息,并将目标页面内容信息发送至可视化编辑器,其中,对原始页面内容信息的处理包括将编辑软件开发工具包添加到原始页面内容信息中。如此,不需要用户预先在第一页面中安装渲染软件开发工具包,即使无法由渲染软件开发工具包拉取到编辑软件开发工具包,通过服务器对第一页面的原始页面内容信息进行处理,可得到添加编辑软件开发工具包后的目标页面内容信息。这样,即使用户未预先在第一页面中安装渲染软件开发工具包,也可以正常使用可视化编辑的功能,提高可视化编辑器的适用范围,用户通过可视化编辑的方式即可得到第二页面,提高页面生成效率。
可选地,应用于可视化编辑器一侧的页面生成方法还可包括:
在第一页面中安装了渲染软件开发工具包的情况下,获取第一页面的原始页面内容信息,并根据第一页面的原始页面内容信息生成第一页面对应的待编辑页面。
其中,如果第一页面中安装了渲染软件开发工具包,那么获取到的第一页面的原始页面内容信息中也包括渲染软件开发工具包,渲染软件开发工具包可主动拉取到编辑软件开发工具包,则无需再由服务器对页面内容信息进行另外处理,可直接根据第一页面的原始页面内容信息生成第一页面对应的待编辑页面。
本公开中,在第一页面中安装了渲染软件开发工具包的情况下,在S403之前,可首先进行可视化编辑器与渲染软件开发工具包拉取到的编辑软件开发工具包之间的连接建立过程,图5是根据一示例性实施例示出的该连接建立过程的流程图,如图5所示,该过程可包括S501至S509。
在S501中,渲染软件开发工具包向可视化编辑器102发送加载完成信息。其中,待编辑页面加载出渲染软件开发工具包后,该渲染软件开发工具包可主动向可视化编辑器102发送加载完成信息,以提示可视化编辑器102渲染软件开发工具包已加载完毕。
在S502中,可视化编辑器102接收渲染软件开发工具包发送的加载完成信息。
在S503中,可视化编辑器102向渲染软件开发工具包发送第一页面的渲染特征信息。其中,该渲染特征信息可用于渲染软件开发工具包进行页面渲染,可包括第一页面的渲染参数,例如采用何种语言进行渲染,以及第一页面所属应用程序的标识信息等。
在S504中,渲染软件开发工具包接收可视化编辑器102发送的渲染特征信息,并拉取编辑软件开发工具包。
在S505中,渲染软件开发工具包向编辑软件开发工具包103发送用于指示编辑软件开发工具包与可视化编辑器建立通信连接的信息。
在S506中,编辑软件开发工具包103接收渲染软件开发工具包发送的用于指示编辑软件开发工具包与可视化编辑器建立通信连接的信息。
在S507中,编辑软件开发工具包103向可视化编辑器102发送准备完成信息。该准备完成信息用于提示可视化编辑器102编辑软件开发工具包103已准备完毕。
在S508中,可视化编辑器102接收编辑软件开发工具包103发送的准备完成信息,并建立消息通道。
在S509中,可视化编辑器102将消息通道的接口号发送至编辑软件开发工具包103,以建立可视化编辑器102与编辑软件开发工具包103之间的通信连接。
由此,可视化编辑器102与编辑软件开发工具包103之间的通信连接建立,可视化编辑器102可向编辑软件开发工具包103发送编辑指令,以由编辑软件开发工具包103根据编辑指令对待编辑页面进行编辑并生成编辑后的第二页面。
另外,可视化编辑器102还可将用户针对待编辑页面的操作信息发送至服务器101,服务器101可对用户的历史操作信息进行记录并存储。可视化编辑器102可从服务器101获取用户的历史操作信息。可视化编辑器102也可记录用户信息以及用户何时对待编辑页面进行了编辑。此外,用户还可通过可视化编辑器选择编辑模式和预览模式,在编辑模式时对页面进行编辑,在预览模式时对页面进行预览。
基于同一发明构思,本公开还提供一种页面生成装置,图6是根据一示例性实施例示出的一种页面生成装置的框图,该装置可应用于服务器,如图1所示的服务器101,如图6所示,该装置600可包括:
第一获取模块601,用于响应于接收到第一页面的页面地址信息,根据所述页面地址信息获取所述第一页面的原始页面内容信息,其中,所述页面地址信息是可视化编辑器在所述第一页面中未安装渲染软件开发工具包的情况下发送的;处理模块602,用于对所述原始页面内容信息进行处理,得到目标页面内容信息,其中,对所述原始页面内容信息的处理包括将编辑软件开发工具包添加到所述原始页面内容信息中;第一发送模块603,用于将所述目标页面内容信息发送至所述可视化编辑器,以由所述可视化编辑器根据所述目标页面内容信息生成所述第一页面对应的待编辑页面,并将根据用户针对所述待编辑页面的操作信息生成的编辑指令发送至所述编辑软件开发工具包,以便所述编辑软件开发工具包根据所述编辑指令对所述待编辑页面进行编辑并生成编辑后的第二页面。
可选地,所述处理模块602还包括以下子模块中的至少一者:第一处理子模块,用于获取所述原始页面内容信息中的第一预设标签,在所述第一预设标签的超文本引用属性指示所述第一预设标签的路径为相对路径的情况下,将所述第一预设标签的路径处理为绝对路径,其中,所述第一预设标签包括链接标签;第二处理子模块,用于获取所述原始页面内容信息中的第二预设标签,在所述第二预设标签的资源位置属性指示所述第二预设标签的属性为相对属性的情况下,将所述第二预设标签的属性处理为绝对属性,其中,所述第二预设标签包括图片标签和/或脚本标签。
可选地,所述装置600还包括:识别码生成模块,用于在所述处理模块602对所述原始页面内容信息进行处理,得到目标页面内容信息之后,生成所述页面地址信息对应的唯一识别码;第二发送模块,用于将所述唯一识别码发送至所述可视化编辑器,以及将所述唯一识别码和所述目标页面内容信息发送至存储系统;所述第一发送模块603,包括:生成子模块,用于在接收到所述可视化编辑器发送的根据所述唯一识别码和服务器的路径信息生成的第一页面内容信息获取请求的情况下,根据所述唯一识别码和所述存储系统的路径信息生成第二页面内容信息获取请求,并向所述存储系统发送所述第二页面内容信息获取请求;发送子模块,用于接收所述存储系统发送的所述目标页面内容信息,并将所述目标页面内容信息发送至所述可视化编辑器。
可选地,所述装置600还包括:确定模块,用于在所述第一获取模块601根据所述页面地址信息获取所述第一页面的原始页面内容信息之前,根据所述页面地址信息,确定是否缓存有所述目标页面内容信息,所述目标页面内容信息是对所述第一页面的所述原始页面内容信息进行处理之后得到的页面内容信息;第二获取模块,用于在缓存有所述目标页面内容信息的情况下,获取缓存的所述目标页面内容信息;所述第一获取模块601,用于在未缓存所述目标页面内容信息的情况下,再根据所述页面地址信息获取所述第一页面的原始页面内容信息,以及所述处理模块602用于对所述原始页面内容信息进行处理,得到目标页面内容信息。
图7是根据一示例性实施例示出的一种页面生成装置的框图,该装置可应用于可视化编辑器,如图1所示的可视化编辑器102,如图7所示,该装置700可包括:第三发送模块701,用于在第一页面中未安装渲染软件开发工具包的情况下,向服务器发送所述第一页面的页面地址信息,以由所述服务器根据所述页面地址信息获取所述第一页面的原始页面内容信息,并对所述原始页面内容信息进行处理得到目标页面内容信息,其中,对所述原始页面内容信息的处理包括将编辑软件开发工具包添加到所述原始页面内容信息中;接收模块702,用于接收所述服务器发送的所述目标页面内容信息,并根据所述目标页面内容信息生成所述第一页面对应的待编辑页面;指令生成模块703,用于响应于接收到用户针对所述待编辑页面的操作信息,根据所述操作信息生成编辑指令,并将所述编辑指令发送至所述编辑软件开发工具包,以由所述编辑软件开发工具包根据所述编辑指令对所述待编辑页面进行编辑并生成编辑后的第二页面。
可选地,该装置700还可包括:第三获取模块,用于在所述第一页面中安装了渲染软件开发工具包的情况下,获取所述第一页面的原始页面内容信息,并根据所述第一页面的原始页面内容信息生成所述第一页面对应的所述待编辑页面。
可选地,该装置700还可包括:第四发送模块,用于在所述指令生成模块703响应于接收到用户针对所述待编辑页面的操作信息,根据所述操作信息生成编辑指令之前,在接收到所述渲染软件开发工具包发送的加载完成信息的情况下,向所述渲染软件开发工具包发送所述第一页面的渲染特征信息,以由所述渲染软件开发工具包在接收到所述渲染特征信息的情况下,拉取编辑软件开发工具包并向所述编辑软件开发工具包发送用于指示所述编辑软件开发工具包与所述可视化编辑器建立通信连接的信息;建立模块,用于在接收到所述编辑软件开发工具包发送的准备完成信息的情况下,建立消息通道,并将所述消息通道的接口号发送至所述编辑软件开发工具包,以建立所述可视化编辑器与所述编辑软件开发工具包之间的通信连接。
下面参考图8,其示出了适于用来实现本公开实施例的电子设备800的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800可以包括处理装置(例如中央处理器、图形处理器等)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储装置808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有电子设备800操作所需的各种程序和数据。处理装置801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
通常,以下装置可以连接至I/O接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置806;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置807;包括例如磁带、硬盘等的存储装置808;以及通信装置809。通信装置809可以允许电子设备800与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的电子设备800,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从ROM 802被安装。在该计算机程序被处理装置801执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
响应于接收到第一页面的页面地址信息,根据所述页面地址信息获取所述第一页面的原始页面内容信息,其中,所述页面地址信息是可视化编辑器在所述第一页面中未安装渲染软件开发工具包的情况下发送的;对所述原始页面内容信息进行处理,得到目标页面内容信息,其中,对所述原始页面内容信息的处理包括将编辑软件开发工具包添加到所述原始页面内容信息中;将所述目标页面内容信息发送至所述可视化编辑器,以由所述可视化编辑器根据所述目标页面内容信息生成所述第一页面对应的待编辑页面,并将根据用户针对所述待编辑页面的操作信息生成的编辑指令发送至所述编辑软件开发工具包,以便所述编辑软件开发工具包根据所述编辑指令对所述待编辑页面进行编辑并生成编辑后的第二页面。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:在第一页面中未安装渲染软件开发工具包的情况下,向服务器发送所述第一页面的页面地址信息,以由所述服务器根据所述页面地址信息获取所述第一页面的原始页面内容信息,并对所述原始页面内容信息进行处理得到目标页面内容信息,其中,对所述原始页面内容信息的处理包括将编辑软件开发工具包添加到所述原始页面内容信息中;接收所述服务器发送的所述目标页面内容信息,并根据所述目标页面内容信息生成所述第一页面对应的待编辑页面;响应于接收到用户针对所述待编辑页面的操作信息,根据所述操作信息生成编辑指令,并将所述编辑指令发送至所述编辑软件开发工具包,以由所述编辑软件开发工具包根据所述编辑指令对所述待编辑页面进行编辑并生成编辑后的第二页面。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,第一获取模块还可以被描述为“页面地址信息获取模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,示例1提供了一种页面生成方法,所述方法包括:响应于接收到第一页面的页面地址信息,根据所述页面地址信息获取所述第一页面的原始页面内容信息,其中,所述页面地址信息是可视化编辑器在所述第一页面中未安装渲染软件开发工具包的情况下发送的;对所述原始页面内容信息进行处理,得到目标页面内容信息,其中,对所述原始页面内容信息的处理包括将编辑软件开发工具包添加到所述原始页面内容信息中;将所述目标页面内容信息发送至所述可视化编辑器,以由所述可视化编辑器根据所述目标页面内容信息生成所述第一页面对应的待编辑页面,并将根据用户针对所述待编辑页面的操作信息生成的编辑指令发送至所述编辑软件开发工具包,以便所述编辑软件开发工具包根据所述编辑指令对所述待编辑页面进行编辑并生成编辑后的第二页面。
根据本公开的一个或多个实施例,示例2提供了示例1的方法,对所述原始页面内容信息的处理还包括以下中的至少一者:获取所述原始页面内容信息中的第一预设标签,在所述第一预设标签的超文本引用属性指示所述第一预设标签的路径为相对路径的情况下,将所述第一预设标签的路径处理为绝对路径,其中,所述第一预设标签包括链接标签;获取所述原始页面内容信息中的第二预设标签,在所述第二预设标签的资源位置属性指示所述第二预设标签的属性为相对属性的情况下,将所述第二预设标签的属性处理为绝对属性,其中,所述第二预设标签包括图片标签和/或脚本标签。
根据本公开的一个或多个实施例,示例3提供了示例1的方法,在所述对所述原始页面内容信息进行处理,得到目标页面内容信息的步骤之后,还包括:生成所述页面地址信息对应的唯一识别码;将所述唯一识别码发送至所述可视化编辑器,以及将所述唯一识别码和所述目标页面内容信息发送至存储系统;所述将所述目标页面内容信息发送至所述可视化编辑器,包括:在接收到所述可视化编辑器发送的根据所述唯一识别码和服务器的路径信息生成的第一页面内容信息获取请求的情况下,根据所述唯一识别码和所述存储系统的路径信息生成第二页面内容信息获取请求,并向所述存储系统发送所述第二页面内容信息获取请求;接收所述存储系统发送的所述目标页面内容信息,并将所述目标页面内容信息发送至所述可视化编辑器。
根据本公开的一个或多个实施例,示例4提供了示例1的方法,在所述根据所述页面地址信息获取所述第一页面的原始页面内容信息之前,还包括:根据所述页面地址信息,确定是否缓存有所述目标页面内容信息,所述目标页面内容信息是对所述第一页面的所述原始页面内容信息进行处理之后得到的页面内容信息;在缓存有所述目标页面内容信息的情况下,获取缓存的所述目标页面内容信息;在未缓存所述目标页面内容信息的情况下,再执行所述根据所述页面地址信息获取所述第一页面的原始页面内容信息的步骤至所述对所述原始页面内容信息进行处理,得到目标页面内容信息的步骤。
根据本公开的一个或多个实施例,示例5提供了示例1至示例4中任一示例的方法,所述第一页面和所述第二页面用于进行AB测试。
根据本公开的一个或多个实施例,示例6提供了一种页面生成方法,所述方法包括:在第一页面中未安装渲染软件开发工具包的情况下,向服务器发送所述第一页面的页面地址信息,以由所述服务器根据所述页面地址信息获取所述第一页面的原始页面内容信息,并对所述原始页面内容信息进行处理得到目标页面内容信息,其中,对所述原始页面内容信息的处理包括将编辑软件开发工具包添加到所述原始页面内容信息中;接收所述服务器发送的所述目标页面内容信息,并根据所述目标页面内容信息生成所述第一页面对应的待编辑页面;响应于接收到用户针对所述待编辑页面的操作信息,根据所述操作信息生成编辑指令,并将所述编辑指令发送至所述编辑软件开发工具包,以由所述编辑软件开发工具包根据所述编辑指令对所述待编辑页面进行编辑并生成编辑后的第二页面。
根据本公开的一个或多个实施例,示例7提供了示例6的方法,所述方法还包括:在所述第一页面中安装了渲染软件开发工具包的情况下,获取所述第一页面的原始页面内容信息,并根据所述第一页面的原始页面内容信息生成所述第一页面对应的所述待编辑页面。
根据本公开的一个或多个实施例,示例8提供了示例7的方法,在所述响应于接收到用户针对所述待编辑页面的操作信息,根据所述操作信息生成编辑指令的步骤之前,所述方法还包括:在接收到所述渲染软件开发工具包发送的加载完成信息的情况下,向所述渲染软件开发工具包发送所述第一页面的渲染特征信息,以由所述渲染软件开发工具包在接收到所述渲染特征信息的情况下,拉取编辑软件开发工具包并向所述编辑软件开发工具包发送用于指示所述编辑软件开发工具包与所述可视化编辑器建立通信连接的信息;在接收到所述编辑软件开发工具包发送的准备完成信息的情况下,建立消息通道,并将所述消息通道的接口号发送至所述编辑软件开发工具包,以建立所述可视化编辑器与所述编辑软件开发工具包之间的通信连接。
根据本公开的一个或多个实施例,示例9提供了示例6至示例8中任一示例的方法,所述第一页面和所述第二页面用于进行AB测试。
根据本公开的一个或多个实施例,示例10提供了一种页面生成装置,所述装置包括:第一获取模块,用于响应于接收到第一页面的页面地址信息,根据所述页面地址信息获取所述第一页面的原始页面内容信息,其中,所述页面地址信息是可视化编辑器在所述第一页面中未安装渲染软件开发工具包的情况下发送的;处理模块,用于对所述原始页面内容信息进行处理,得到目标页面内容信息,其中,对所述原始页面内容信息的处理包括将编辑软件开发工具包添加到所述原始页面内容信息中;第一发送模块,用于将所述目标页面内容信息发送至所述可视化编辑器,以由所述可视化编辑器根据所述目标页面内容信息生成所述第一页面对应的待编辑页面,并将根据用户针对所述待编辑页面的操作信息生成的编辑指令发送至所述编辑软件开发工具包,以便所述编辑软件开发工具包根据所述编辑指令对所述待编辑页面进行编辑并生成编辑后的第二页面。
根据本公开的一个或多个实施例,示例11提供了一种页面生成装置,所述装置包括:第三发送模块,用于在第一页面中未安装渲染软件开发工具包的情况下,向服务器发送所述第一页面的页面地址信息,以由所述服务器根据所述页面地址信息获取所述第一页面的原始页面内容信息,并对所述原始页面内容信息进行处理得到目标页面内容信息,其中,对所述原始页面内容信息的处理包括将编辑软件开发工具包添加到所述原始页面内容信息中;接收模块,用于接收所述服务器发送的所述目标页面内容信息,并根据所述目标页面内容信息生成所述第一页面对应的待编辑页面;指令生成模块,用于响应于接收到用户针对所述待编辑页面的操作信息,根据所述操作信息生成编辑指令,并将所述编辑指令发送至所述编辑软件开发工具包,以由所述编辑软件开发工具包根据所述编辑指令对所述待编辑页面进行编辑并生成编辑后的第二页面。
根据本公开的一个或多个实施例,示例12提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现示例1-5中任一项所述方法的步骤,或者,该程序被处理装置执行时实现示例6-9中任一项所述方法的步骤。
根据本公开的一个或多个实施例,示例13提供了一种电子设备,包括:存储装置,其上存储有计算机程序;处理装置,用于执行所述存储装置中的所述计算机程序,以实现示例1-5中任一项所述方法的步骤,或者实现示例6-9中任一项所述方法的步骤。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。