CN106991167B - Web应用的迁移方法及装置 - Google Patents

Web应用的迁移方法及装置 Download PDF

Info

Publication number
CN106991167B
CN106991167B CN201710209576.2A CN201710209576A CN106991167B CN 106991167 B CN106991167 B CN 106991167B CN 201710209576 A CN201710209576 A CN 201710209576A CN 106991167 B CN106991167 B CN 106991167B
Authority
CN
China
Prior art keywords
page
web application
content area
navigation
navigation control
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
Application number
CN201710209576.2A
Other languages
English (en)
Other versions
CN106991167A (zh
Inventor
段振辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201710209576.2A priority Critical patent/CN106991167B/zh
Publication of CN106991167A publication Critical patent/CN106991167A/zh
Application granted granted Critical
Publication of CN106991167B publication Critical patent/CN106991167B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开涉及一种Web应用的迁移方法及装置,该方法包括:基于旧Web应用的页面的结构来生成作为新Web应用的页面的访问入口的框架页,所述框架页包括内容区域,所述内容区域包括用于引用所述旧Web应用的页面的标签;在存在更新所述内容区域的请求的情况下,改变所述标签的源文件属性以使所述内容区域显示与所述请求相对应的旧Web应用的页面,并且隐藏所述旧Web应用的页面中的除所述内容区域以外的非内容区域。本公开能够快速地将旧Web应用迁移为能够局部刷新的新Web应用,并且可以避免旧Web应用的框架与新Web应用的框架相互嵌套。

Description

Web应用的迁移方法及装置
技术领域
本公开涉及互联网应用领域,尤其涉及一种Web应用的迁移方法及装置。
背景技术
随着互联网的普及,涌现了大量的Web应用。其中,Web应用是一种可以通过Web访问的应用程序。Web应用的模式为B/S模式,即浏览器端/服务器端模式。只需要一个浏览器而不需要用户再安装其它软件就能够访问Web应用。
对于传统的Web应用,网页和网页之间相互链接,网页之间的跳转会导致浏览器刷新网页的整个页面。随着互联网技术的演进,开始出现局部刷新的交互方式。其中,局部刷新是一种只刷新网页的一部分内容而不刷新网页的全部内容的交互方式。局部刷新的交互方式不会导致浏览器刷新网页的整个页面。
对于使用局部刷新的交互方式所创建的Web应用,网页的页面内容动态更新,不会导致浏览器刷新网页的整个页面,因此更快、交互性更强且更友好,因而更受用户的欢迎。
然而,如何将传统的Web应用迁移为局部刷新的Web应用成为一个难题。
相关技术中,需要重写Web应用的实现代码以实现局部刷新的Web应用。该技术等同于对传统的Web应用进行代码重构,其存在重构难度大、迁移工作量大、需要投入大量的人力、时间和资金等。另外,投入的成本与收益也不匹配。
发明内容
为克服相关技术中存在的问题,本公开提供一种Web应用的迁移方法及装置。
根据本公开的一方面,提供了一种Web应用的迁移方法,该方法包括:
基于旧Web应用的页面的结构来生成作为新Web应用的页面的访问入口的框架页,所述框架页包括内容区域,所述内容区域包括用于引用所述旧Web应用的页面的标签;
在存在更新所述内容区域的请求的情况下,改变所述标签的源文件属性以使所述内容区域显示与所述请求相对应的旧Web应用的页面,并且隐藏所述旧Web应用的页面中的除所述内容区域以外的非内容区域。
在一种可能的实现方式中,所述更新所述内容区域的请求是响应于对所述框架页上的导航控件的触发操作而生成的,
其中,响应于更新所述内容区域的请求,改变所述标签的源文件属性,包括:
响应于对所述导航控件的触发,将与被触发的导航控件相对应的旧Web应用的页面的地址作为第一函数的输入;
根据所述第一函数的输入改变所述标签的源文件属性。
在一种可能的实现方式中,
在所述框架页包括至少一个第一导航控件和至少一个第二导航控件的情况下,所述被触发的导航控件是所述至少一个第一导航控件和所述至少一个第二导航控件中的任一个导航控件,
其中,所述至少一个第二导航控件中的每一个第二导航控件与所述至少一个第一导航控件中的一个或多个第一导航控件相关联,并且响应于对所述至少一个第二导航控件中的一个第二导航控件的触发,显示与被触发的第二导航控件相关联的第一导航控件而隐藏除与被触发的第二导航控件相关联的第一导航控件以外的第一导航控件。
在一种可能的实现方式中,该方法还包括:
在用户通过浏览器访问所述旧Web应用的页面的情况下,显示所述旧Web应用的页面的整个区域。
在一种可能的实现方式中,在用户通过浏览器访问所述旧Web应用的页面的情况下,隐藏所述旧Web应用的页面中的除所述内容区域以外的非内容区域,包括:
在存在更新所述内容区域的请求的情况下,在所述非内容区域以外的区域引用用于隐藏所述非内容区域的层叠样式表。
根据本公开的另一方面,提供了一种Web应用的迁移装置,包括:
生成模块,用于基于旧Web应用的页面的结构来生成作为新Web应用的页面的访问入口的框架页,所述框架页包括内容区域,所述内容区域包括用于引用所述旧Web应用的页面的标签;
显示控制模块,与所述生成模块连接,用于在存在更新所述内容区域的请求的情况下,改变所述标签的源文件属性以使所述内容区域显示与所述请求相对应的旧Web应用的页面,并且隐藏所述旧Web应用的页面中的除所述内容区域以外的非内容区域。
在一种可能的实现方式中,所述更新所述内容区域的请求是响应于对所述框架页上的导航控件的触发操作而生成的,
其中,所述显示控制模块被配置为:
响应于对所述导航控件的触发,将与被触发的导航控件相对应的旧Web应用的页面的地址作为第一函数的输入;
根据所述第一函数的输入改变所述标签的源文件属性。
在一种可能的实现方式中,
在所述框架页包括至少一个第一导航控件和至少一个第二导航控件的情况下,所述被触发的导航控件是所述至少一个第一导航控件和所述至少一个第二导航控件中的任一个导航控件,其中,所述至少一个第二导航控件中的每一个第二导航控件与所述至少一个第一导航控件中的一个或多个第一导航控件相关联,
所述装置还包括导航控制模块,所述导航控制模块用于响应于对所述至少一个第二导航控件中的一个第二导航控件的触发,显示与被触发的第二导航控件相关联的第一导航控件而隐藏除与被触发的第二导航控件相关联的第一导航控件以外的第一导航控件。
在一种可能的实现方式中,所述显示控制模块被配置为:
在用户通过浏览器访问所述旧Web应用的页面的情况下,显示所述旧Web应用的页面的整个区域。
在一种可能的实现方式中,所述显示控制模块被配置为:
在存在更新所述内容区域的请求的情况下,在所述非内容区域引用用于隐藏所述非内容区域的层叠样式表。
根据本公开的又一方面,提供了一种Web应用的迁移装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述方法。
根据本公开的再一方面,提供了一种非易失性计算机可读存储介质,当所述存储介质中的指令由终端和/或服务器的处理器执行时,使得终端和/或服务器能够执行上述方法。
本公开基于旧Web应用的页面的结构来生成作为新Web应用的页面的访问入口的框架页,在存在更新框架页的内容区域的请求的情况下,改变该内容区域的标签的源文件属性,以使该内容区域显示与该请求相对应的旧Web应用的页面,并且隐藏旧Web应用的页面中的除内容区域以外的非内容区域,例如旧Web应用的页面的产品Logo和导航区域,由此,能够快速地将旧Web应用迁移为能够局部刷新的新Web应用,并且可以避免旧Web应用的框架与新Web应用的框架相互嵌套。
并且,通过重用旧Web应用的页面的结构来实现将传统Web应用(旧Web应用)迁移为局部刷新Web应用(新Web应用),由此,可以避免对传统Web应用做大量的代码重构,降低了迁移难度和迁移工作量,减少了迁移所需的人力、时间和资金成本。
另外,由于重用旧Web应用的页面的结构,因此可以在实现局部刷新迁移的同时,Web应用的页面的结构(界面风格)可以保持不变。
进一步地,可以响应于导航控件例如第一导航控件或第二导航控件的触发来控制内容区域的显示。
进一步地,可以响应于对第二导航控件例如上导航的触发来仅显示与该第二导航控件相关联的第一导航控件,而隐藏除该第一导航控件以外的其它第一导航控件,由此,第一导航控件能够随着被触发的第二导航控件的变化而变化。
进一步地,在用户通过浏览器访问旧Web应用的页面的情况下,可以显示旧Web应用的页面的整个区域,例如旧Web应用的页面的产品Logo和导航区域,由此,可以在不需要对旧Web应用的页面进行迁移时,可以保持完整的旧Web应用的页面。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1a是根据一示例性实施例示出的一种Web应用的迁移方法的流程图。
图1b是根据一示例性实施例示出的一种旧Web应用的页面示意图。
图2是根据一示例性实施例示出的一种Web应用的迁移方法的一个示例的流程图。
图3a是根据一示例性实施例示出的一种Web应用的迁移方法的一个示例的流程图。
图3b是根据一示例性实施例示出的Web应用的页面示意图。
图4是根据一示例性实施例示出的一种Web应用的迁移装置的结构框图。
图5是根据一示例性实施例示出的一种Web应用的迁移装置的一个示例的结构框图。
图6是根据一示例性实施例示出的一种用于Web应用的迁移的装置1900的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
可选的,在将传统的Web应用(旧Web应用)迁移为局部刷新的Web应用(新Web应用)时,可以采用本公开所提供的迁移方法,其中,对于传统的Web应用,网页和网页之间相互链接,网页之间的跳转会导致浏览器刷新网页的整个页面,局部刷新是一种只刷新网页的一部分内容而不刷新网页的全部内容的交互方式。
图1a是根据一示例性实施例示出的一种Web应用的迁移方法的流程图。如图1a所示,该迁移方法可以包括以下步骤。
在步骤S110中,可以基于旧Web应用的页面的结构来生成作为新Web应用的页面的访问入口的框架页,该框架页可以包括内容区域,该内容区域可以包括用于引用该旧Web应用的页面的标签。
可选的,Web应用通常可以是指加载在Web应用框架中的各类应用程序,加载的Web应用可以用于实现多种不同的功能。其中,Web应用的页面的结构可以包括多种类型,例如,一种类型的Web应用的页面的结构可以由上导航和内容区域组成。又如,一种类型的Web应用的页面的结构可以由左导航、右导航和内容区域组成。可选的,该内容区域可以是用于显示例如页面正文内容、标题等内容的区域。可选的,该非内容区域可以是用于显示例如上导航、左导航、右导航、产品Logo等内容的区域。
举例而言,图1b是根据一示例性实施例示出的一种旧Web应用的页面示意图,如图1b所示,该旧Web应用的页面的结构可以由导航区域和内容区域组成,该导航区域可以包括上导航和左导航,该导航区域可以位于上述非内容区域。其中,上导航可以包括Web应用Logo、导航1、导航2和导航3,左导航可以包括左导航1、左导航2和左导航3,这些导航可以链接二级页面,在用户通过诸如点击等方式触发了这些导航中的任意一个导航时,当前显示的页面会切换为该被触发的导航所链接的二级页面。
可选的,在将旧Web应用迁移为局部刷新Web应用时,可以重用旧Web应用的页面的结构来生成一个框架页,以将该框架页作为局部刷新Web应用即新Web应用的页面的访问入口,由此,用户可以通过该框架页来访问新Web应用的页面。可选的,该框架页可以包括内容区域,该内容区域可以由一个超文本标记语言(英文:Hyper Text Markup Language,简称:HTML)标签iframe组成,可以填充整个内容区域,该标签的作用是引用旧Web应用的页面。换言之,在框架页的内容区域,使用标签可以直接引用旧Web应用的页面(例如网页),以重用该页面。
其中,HTML可以定义多种数据类型的元素内容,例如脚本数据和样式表的数据,可以包括统一资源定位符(英文:Universal Resource Location,简称:URL)、数字、长度单位、语言、颜色、日期和时间等。URL是Internet上用于描述信息资源的字符串,例如Web应用的页面的地址,在浏览器中输入URL可以访问Web应用的页面。URL可以是相对的,也可以是绝对的,相对地址可以不包括Web应用的协议类型、主机地址和端口号,绝对地址可以包括Web应用的协议类型、主机地址、端口号和相对地址。
举例而言,假设图1b所示的Web应用为旧Web应用,则可以重用图1b所示的Web应用的页面的结构来做一个框架页,例如,新Web应用的页面的框架可以与该旧Web应用的页面的框架相同,通过该框架页的内容区域的标签,新Web应用可以引用图1b所示的Web应用的页面,换言之,新Web应用可以通过标签将图1b所示的Web应用的页面显示于该新Web应用的内容区域,例如,新Web应用可以通过标签将图1b所示的Web应用的页面中的任意一个导航所链接的二级页面显示于该新Web应用的内容区域。
在步骤S130中,在存在更新内容区域的请求的情况下,可以改变标签的源文件属性以使内容区域显示与该请求相对应的旧Web应用的页面,并且隐藏该旧Web应用的页面中的除该内容区域以外的区域。
举例而言,响应于更新新Web应用的内容区域的请求,可以在将与该请求相对应的旧Web应用的一个二级页面显示于新Web应用的内容区域的同时,隐藏旧Web应用的页面中的导航区域和产品Logo。这样,可以避免旧Web应用的框架与新Web应用的框架相互嵌套。
可选的,标签的源文件属性即src属性表示源文件(所引用的文件)的路径,例如,图1b所示的旧Web应用的页面中的任意一个导航所链接的二级页面的地址,也就是说,src属性的值是源文件的URL、即源文件的绝对地址或相对地址。例如,<img src="路径"/>表示一张图片的路径。可选的,源文件属性可以是旧Web应用的页面的绝对地址或相对地址。
在一种可能的实现方式中,该更新内容区域的请求可以是响应于对框架页上的导航控件的触发操作而生成的。
举例而言,假设图1b所示的Web应用为旧Web应用,重用图1b所示的Web应用的页面的结构来为新Web应用做一个框架页,该框架页可以包括左导航1,则可以响应于对左导航1的触发操作例如点击操作来刷新内容区域,而不刷新图1b所示的Web应用的整个页面,即,可以响应于对左导航1的点击来将左导航1所链接的二级页面显示于新Web应用的内容区域,同时,可以隐藏图1b所示的Web应用的页面的导航区域和产品Logo。
在一种可能的实现方式中,在存在更新内容区域的请求的情况下,隐藏旧Web应用的页面中的除内容区域以外的非内容区域,可以包括:在存在更新内容区域的请求的情况下,在该非内容区域引用用于隐藏该非内容区域的层叠样式表例如CSS文件。
可选的,可以对旧Web应用的页面(应用界面)做处理,处理原则可以是:可以不改动旧Web应用的页面的结构,只控制该页面的结构的显示,例如,在存在更新内容区域的请求的情况下,可以仅显示内容区域而隐藏旧Web应用的页面的除内容区域以外的非内容区域例如导航区域和产品Logo,由此,可以避免旧Web应用的页面的框架与新Web应用的页面的框架相互嵌套。
可选的,处理方法可以为在旧Web应用的页面的公共页面(例如,将旧Web应用的导航区域和产品Logo做一个公共页面,该公共页面可以被其它页面例如二级页面引用)里引用层叠样式表例如CSS文件,该CSS文件包括一个公共样式,作用是隐藏旧Web应用的页面的导航区域和产品Logo,以保证旧Web应用的页面仅显示内容区域。举例而言,旧Web应用的页面可以统一引用该CSS文件,由此,响应于对框架页上的导航控件的点击,可以仅显示旧Web应用的页面的内容区域。
上述CSS文件的伪码示例为:
#topNav,#leftNav{display:none;}//隐藏旧页面的上导航和左导航
在一种可能的实现方式中,在用户通过浏览器访问旧Web应用的页面的情况下,显示旧Web应用的页面的整个区域。
可选的,在用户通过浏览器访问旧Web应用的页面、即该旧Web应用的页面没有被新Web应用的页面的框架页引用的情况下,可以显示旧Web应用的页面的所有内容例如导航区域、产品Logo和内容区域,由此,在旧Web应用的页面没有被新Web应用的页面的框架页引用时,可以保证旧Web应用的页面的完整性,即可以完整展示(显示)旧Web应用的页面。
其中,可以通过判断是否触发了框架页上的导航控件来判断是否存在更新内容区域的请求。如上所述的,在触发了框架页上的导航控件时,该导航控件所链接的二级页面被引用,并且,旧Web应用的顶级页面不被新Web应用的内容区域的标签引用,然而,旧Web应用的除顶级页面以外的其它页面可以被新Web应用的内容区域的标签引用。因此,也可以通过判断当前页面是否是顶级页面来判断是否存在更新内容区域的请求。具言之,如果当前页面不是顶级页面,则可以判断为该页面被引用,否则,该页面没有被引用。
举例而言,可以在旧Web应用的页面统一引用公共脚本文件D,公共脚本文件D的作用是判断当前页面是否被新Web应用的内容区域的标签引用,如果当前页面被标签引用,则可以判断为存在更新内容区域的请求,可以在当前页面上引用上述CSS文件以隐藏旧Web应用的页面的导航区域和产品Logo;否则,可以不进行上述隐藏动作、即可以显示旧Web应用的页面的导航区域和产品Logo。
上述公共脚本文件D的伪码示例为:
Figure BDA0001260681410000111
这样,基于旧Web应用的页面的结构来生成作为新Web应用的页面的访问入口的框架页,在存在更新框架页的内容区域的请求的情况下,改变该内容区域的标签的源文件属性,以使该内容区域显示与该请求相对应的旧Web应用的页面,并且隐藏旧Web应用的页面中的除内容区域以外的非内容区域,例如旧Web应用的页面的产品Logo和导航区域,由此,能够快速地将旧Web应用迁移为能够局部刷新的新Web应用,并且可以避免旧Web应用的框架与新Web应用的框架相互嵌套。
并且,通过重用旧Web应用的页面的结构来实现将传统Web应用(旧Web应用)迁移为局部刷新Web应用(新Web应用),由此,可以避免对传统Web应用做大量的代码重构,降低了迁移难度和迁移工作量,减少了迁移所需的人力、时间和资金成本。
另外,由于重用旧Web应用的页面的结构,因此可以在实现局部刷新迁移的同时,Web应用的页面的结构(界面风格)可以保持不变。
图2是根据一示例性实施例示出的一种Web应用的迁移方法的一个示例的流程图。如图2所示,在一种可能的实施方式中,该迁移方法可以包括以下步骤。
在步骤S210中,响应于对导航控件例如第一导航控件(例如左导航)或第二导航控件(例如上导航)的触发,可以与被触发的导航控件相对应的旧Web应用的页面的地址作为第一函数的输入。
在步骤S230中,可以根据第一函数的输入改变标签的源文件属性。
可选的,可以在框架页上增加第一函数,第一函数可以接受至少一个输入例如参数URL,在第一函数被调用时,可以根据第一函数的输入来动态改变内容区域的标签的源文件属性。
可选的,第一函数可以为JavaScript函数B。JavaScript是一种脚本语言,可以直接运行在浏览器上,以改变Web应用的网页(页面)的结构。以下为JavaScript函数B的伪码示例。
Figure BDA0001260681410000121
举例而言,假设图1b所示的Web应用为旧Web应用,则可以响应于对左导航1的点击,将左导航1所链接的旧Web应用的二级页面的URL作为第一函数的输入,调用该第一函数可以使得内容区域所显示的页面为与该URL相对应的页面即该二级页面。又如,可以响应于对上导航1的点击,将上导航1所链接的旧Web应用的二级页面的URL作为第一函数的输入,调用该第一函数可以使得内容区域所显示的页面为上导航1所链接的旧Web应用的二级页面。
由此,可以响应于导航控件例如第一导航控件或第二导航控件的触发来控制内容区域的显示,可以保证在不刷新整个页面的情况下动态更新内容区域。
图3a是根据一示例性实施例示出的一种Web应用的迁移方法的一个示例的流程图。如图3a所示,在一种可能的实施方式中,在上述框架页包括至少一个第一导航控件和至少一个第二导航控件的情况下,被触发的导航控件可以是至少一个第一导航控件和至少一个第二导航控件中的任一个导航控件,其中,该至少一个第二导航控件中的每一个第二导航控件可以与该至少一个第一导航控件中的一个或多个第一导航控件相关联。该迁移方法可以包括以下步骤。
在步骤S310中,响应于对至少一个第二导航控件中的一个第二导航控件的触发,可以显示与被触发的第二导航控件相关联的第一导航控件而隐藏除与被触发的第二导航控件相关联的第一导航控件以外的第一导航控件。
举例而言,图1b所示的旧Web应用的页面的导航区域包括左导航1、左导航2和左导航3这三个第一导航控件以及上导航1、上导航2和上导航3这三个第二导航控件,左导航1、左导航2和左导航3分别与上导航1、上导航2和上导航3相关联。
可选的,新Web应用的页面的框架页可以包括内容区域、至少一个第一导航控件和至少一个第二导航控件,其中,一个第二导航控件例如上导航可以与一个第一导航控件例如左导航相关联,第二导航控件一般不发生变化。可选的,左导航可以跟随上导航的变化而变化,框架页可以包括多个左导航和多个上导航,可以默认仅显示一个左导航,当点击一个上导航时,可以使用脚本语言来控制选择显示哪一个左导航。
可选的,可以在框架页上增加第二函数,可以响应于点击第二导航控件来调用第二函数,并且在第二函数被调用时,可以仅显示与第二导航控件相关联的第一导航控件并且隐藏除与被点击的第二导航控件相关联的第一导航控件以外的其它第一导航控件、即隐藏不与该被点击的第二导航控件相关联的第一导航控件。可选的,第二函数可以为JavaScript函数B1。以下为JavaScript函数B1的伪码示例。
Figure BDA0001260681410000141
举例而言,假设图1b所示的Web应用为旧Web应用,在图1b中的导航1被点击的情况下,当前页面切换为图3b示出的Web应用的页面示意图,假设导航1与左导航1相关联、导航2与左导航2相关联、导航3与左导航3相关联,则可以响应于点击导航1来刷新页面,左导航和内容区域发生变化,其中,当前页面上的左导航由图1b中示出全部左导航改变为仅显示左导航1而隐藏左导航2和左导航3,相应地,也可以响应于点击导航2来仅显示左导航2而隐藏左导航1和左导航3,可以响应于点击导航3来仅显示左导航3而隐藏左导航1和左导航2。当然,可以响应于点击左导航1来将图3b所示的内容区域改变为左导航1所链接的二级页面。
由此,响应于对第二导航控件例如上导航的触发,仅显示与该被触发的第二导航控件相关联的第一导航控件,而隐藏除该第一导航控件以外的其它第一导航控件,由此,第一导航控件能够随着被触发的第二导航控件的变化而变化。
需要说明的是,本公开的示例性实施例中可以先执行步骤S110和步骤S130以改变内容区域所显示的页面,然后执行步骤S310以控制第一导航控件的显示。也可以按照步骤S110、步骤S310、与步骤S130的顺序执行,本公开不限制步骤S130和步骤S310之间的时序关系。
图4是根据一示例性实施例示出的一种Web应用的迁移装置400的结构框图。参照图4,该Web应用的迁移装置400可以包括:生成模块410和显示控制模块430。其中,该生成模块410可以用于基于旧Web应用的页面的结构来生成作为新Web应用的页面的访问入口的框架页,该框架页可以包括内容区域,该内容区域可以包括用于引用该旧Web应用的页面的标签。该显示控制模块430可以与该生成模块410连接,并且可以用于在存在更新该内容区域的请求的情况下,改变该标签的源文件属性以使该内容区域显示与该请求相对应的旧Web应用的页面,并且隐藏该旧Web应用的页面中的除该内容区域以外的非内容区域。
在一种可能的实施方式中,更新该内容区域的请求是响应于对该框架页上的导航控件的触发操作而生成的,其中,该显示控制模块430可以被配置为:响应于对导航控件的触发,将与被触发的导航控件相对应的旧Web应用的页面的地址作为第一函数的输入;根据第一函数的输入改变标签的源文件属性。
在一种可能的实施方式中,该显示控制模块430可以被配置为:在用户通过浏览器访问旧Web应用的页面的情况下,显示旧Web应用的页面的整个区域。
在一种可能的实施方式中,该显示控制模块430可以被配置为:在存在更新内容区域的请求的情况下,在非内容区域引用用于隐藏该非内容区域的层叠样式表。
图5是根据一示例性实施例示出的一种Web应用的迁移装置500的结构框图。参照图5,在一种可能的实施方式中,该Web应用的迁移装置500可以包括:生成模块410、显示控制模块430、导航控制模块550。其中,导航控制模块550可以用于响应于对至少一个第二导航控件中的一个第二导航控件的触发,显示与被触发的第二导航控件相关联的第一导航控件而隐藏除与被触发的第二导航控件相关联的第一导航控件以外的第一导航控件。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开的迁移装置基于旧Web应用的页面的结构来生成作为新Web应用的页面的访问入口的框架页,在存在更新框架页的内容区域的请求的情况下,改变该内容区域的标签的源文件属性,以使该内容区域显示与该请求相对应的旧Web应用的页面,并且隐藏旧Web应用的页面中的除内容区域以外的非内容区域,例如旧Web应用的页面的产品Logo和导航区域,由此,能够快速地将旧Web应用迁移为能够局部刷新的新Web应用,并且可以避免旧Web应用的框架与新Web应用的框架相互嵌套。
并且,通过重用旧Web应用的页面的结构来实现将传统Web应用(旧Web应用)迁移为局部刷新Web应用(新Web应用),由此,可以避免对传统Web应用做大量的代码重构,降低了迁移难度和迁移工作量,减少了迁移所需的人力、时间和资金成本。
另外,由于重用旧Web应用的页面的结构,因此可以在实现局部刷新迁移的同时,Web应用的页面的结构(界面风格)可以保持不变。此外,可以响应于导航控件例如第一导航控件或第二导航控件的触发来控制内容区域的显示,可以响应于对第二导航控件例如上导航的触发来仅显示与该第二导航控件相关联的第一导航控件,而隐藏除该第一导航控件以外的其它第一导航控件,由此,第一导航控件能够随着被触发的第二导航控件的变化而变化。
再者,在用户通过浏览器访问旧Web应用的页面的情况下,可以显示旧Web应用的页面中的除该内容区域以外的区域,例如旧Web应用的页面的产品Logo和导航区域,由此,可以在不需要对旧Web应用的页面进行迁移时,可以保持完整的旧Web应用的页面。
图6是根据一示例性实施例示出的一种用于Web应用的迁移的装置1900的框图。例如,装置1900可以被提供为一服务器。参照图6,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(I/O)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种包括指令的非易失性计算机可读存储介质,例如包括指令的存储器1932,上述指令可由装置1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (10)

1.一种Web应用的迁移方法,其特征在于,包括:
基于旧Web应用的页面的结构来生成作为新Web应用的页面的访问入口的框架页,所述框架页包括内容区域,所述内容区域包括用于引用所述旧Web应用的页面的标签;
在存在更新所述新Web应用的页面的内容区域的请求的情况下,改变所述标签的源文件属性以使所述新Web应用的页面的内容区域在显示与所述请求相对应的旧Web应用的页面的内容区域的同时隐藏该旧Web应用的页面中的除该内容区域以外的非内容区域。
2.根据权利要求1所述的方法,其特征在于,所述更新所述新Web应用的页面的内容区域的请求是响应于对所述框架页上的导航控件的触发操作而生成的,
其中,响应于更新所述新Web应用的页面的内容区域的请求,改变所述标签的源文件属性,包括:
响应于对所述导航控件的触发,将与被触发的导航控件相对应的旧Web应用的页面的地址作为第一函数的输入;
根据所述第一函数的输入改变所述标签的源文件属性。
3.根据权利要求2所述的方法,其特征在于,
在所述框架页包括至少一个第一导航控件和至少一个第二导航控件的情况下,所述被触发的导航控件是所述至少一个第一导航控件和所述至少一个第二导航控件中的任一个导航控件,
其中,所述至少一个第二导航控件中的每一个第二导航控件与所述至少一个第一导航控件中的一个或多个第一导航控件相关联,并且响应于对所述至少一个第二导航控件中的一个第二导航控件的触发,显示与被触发的第二导航控件相关联的第一导航控件而隐藏除与被触发的第二导航控件相关联的第一导航控件以外的第一导航控件。
4.根据权利要求1至3中任一项所述的方法,其特征在于,还包括:
在用户通过浏览器访问所述旧Web应用的页面的情况下,显示所述旧Web应用的页面的整个区域。
5.根据权利要求1至3中任一项所述的方法,其特征在于,在存在更新所述新Web应用的页面的内容区域的请求的情况下,隐藏与所述请求相对应的旧Web应用的页面中的除内容区域以外的非内容区域,包括:
在存在更新所述新Web应用的页面的内容区域的请求的情况下,在所述非内容区域引用用于隐藏所述非内容区域的层叠样式表。
6.一种Web应用的迁移装置,其特征在于,包括:
生成模块,用于基于旧Web应用的页面的结构来生成作为新Web应用的页面的访问入口的框架页,所述框架页包括内容区域,所述内容区域包括用于引用所述旧Web应用的页面的标签;
显示控制模块,与所述生成模块连接,用于在存在更新所述新Web应用的页面的内容区域的请求的情况下,改变所述标签的源文件属性以使所述新Web应用的页面的内容区域在显示与所述请求相对应的旧Web应用的页面的内容区域的同时隐藏该旧Web应用的页面中的除该内容区域以外的非内容区域。
7.根据权利要求6所述的装置,其特征在于,所述更新所述新Web应用的页面的内容区域的请求是响应于对所述框架页上的导航控件的触发操作而生成的,
其中,所述显示控制模块被配置为:
响应于对所述导航控件的触发,将与被触发的导航控件相对应的旧Web应用的页面的地址作为第一函数的输入;
根据所述第一函数的输入改变所述标签的源文件属性。
8.根据权利要求7所述的装置,其特征在于,
在所述框架页包括至少一个第一导航控件和至少一个第二导航控件的情况下,所述被触发的导航控件是所述至少一个第一导航控件和所述至少一个第二导航控件中的任一个导航控件,其中,所述至少一个第二导航控件中的每一个第二导航控件与所述至少一个第一导航控件中的一个或多个第一导航控件相关联,
所述装置还包括导航控制模块,所述导航控制模块用于响应于对所述至少一个第二导航控件中的一个第二导航控件的触发,显示与被触发的第二导航控件相关联的第一导航控件而隐藏除与被触发的第二导航控件相关联的第一导航控件以外的第一导航控件。
9.根据权利要求6至8中任一项所述的装置,其特征在于,所述显示控制模块被配置为:
在用户通过浏览器访问所述旧Web应用的页面的情况下,显示所述旧Web应用的页面的整个区域。
10.根据权利要求6至8中任一项所述的装置,其特征在于,所述显示控制模块被配置为:
在存在更新所述新Web应用的页面的内容区域的请求的情况下,在所述非内容区域引用用于隐藏所述非内容区域的层叠样式表。
CN201710209576.2A 2017-03-31 2017-03-31 Web应用的迁移方法及装置 Active CN106991167B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710209576.2A CN106991167B (zh) 2017-03-31 2017-03-31 Web应用的迁移方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710209576.2A CN106991167B (zh) 2017-03-31 2017-03-31 Web应用的迁移方法及装置

Publications (2)

Publication Number Publication Date
CN106991167A CN106991167A (zh) 2017-07-28
CN106991167B true CN106991167B (zh) 2020-12-01

Family

ID=59414751

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710209576.2A Active CN106991167B (zh) 2017-03-31 2017-03-31 Web应用的迁移方法及装置

Country Status (1)

Country Link
CN (1) CN106991167B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022027289A1 (en) * 2020-08-05 2022-02-10 Citrix Systems, Inc. Content reference management system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG10201402464XA (en) * 2005-12-07 2014-10-30 3Dlabs Inc Ltd Methods for manipulating web pages
US8275859B2 (en) * 2009-03-31 2012-09-25 International Business Machines Corporation Selective partial updates of web content
CN101888523A (zh) * 2010-06-30 2010-11-17 华为终端有限公司 会议控制方法和系统
CN104423991B (zh) * 2013-08-26 2018-06-15 阿里巴巴集团控股有限公司 在移动终端加载网页、提供网页数据的方法及装置

Also Published As

Publication number Publication date
CN106991167A (zh) 2017-07-28

Similar Documents

Publication Publication Date Title
US11030392B2 (en) Optimization for rendering web pages
CN108984714B (zh) 页面渲染方法、装置、电子设备及计算机可读介质
JP4857349B2 (ja) ポータル・システム内で非同期ポータル・ページを提供するための方法、システム、およびコンピュータ・プログラム
US20190058667A1 (en) Apparatus, hybrid apparatus, and method for network resource access
US20160026356A1 (en) Client-side dynamic control of visualization of frozen region in a data table
CN111796823A (zh) 页面更新、页面展示的方法、装置及页面维护系统
CN106155673B (zh) 实现页面内容编辑器的方法、装置、服务器及用户设备
US20090085921A1 (en) Populate Web-Based Content Based on Space Availability
US20150220496A1 (en) Dynamic sprite based theme switching
US20210081464A1 (en) Crawlability of single page applications
US20190069124A1 (en) Web application with components in different virtual environments
CN113254136A (zh) 信息推荐弹窗展示方法、装置、设备和计算机可读介质
CN113688341B (zh) 动态图片分解方法、装置、电子设备及可读存储介质
CN115309470A (zh) 微件的加载方法、装置、设备以及存储介质
CN111177634A (zh) 支持多语言的文案内容加载方法、装置、设备、及介质
CN106991167B (zh) Web应用的迁移方法及装置
CN113778393A (zh) 组件生成方法、装置、计算机系统和计算机可读存储介质
CN114756228A (zh) 页面处理方法、装置、设备及存储介质
CN110618811B (zh) 信息呈现方法和装置
US11126410B2 (en) Method and apparatus for building pages, apparatus and non-volatile computer storage medium
US11120099B2 (en) Rendering a web element in a web page
US20130151945A1 (en) Processing Published and Subscribed Events
US11758016B2 (en) Hosted application as web widget toolkit
CN113326079A (zh) 服务版本切换方法、切换装置、电子设备和存储介质
CN114756797A (zh) 一种页面处理方法、装置、电子设备和存储介质

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
GR01 Patent grant
GR01 Patent grant