CN115563428A - 浏览器端虚拟路径重写的方法、系统和计算机设备 - Google Patents

浏览器端虚拟路径重写的方法、系统和计算机设备 Download PDF

Info

Publication number
CN115563428A
CN115563428A CN202210855034.3A CN202210855034A CN115563428A CN 115563428 A CN115563428 A CN 115563428A CN 202210855034 A CN202210855034 A CN 202210855034A CN 115563428 A CN115563428 A CN 115563428A
Authority
CN
China
Prior art keywords
site
browser
path
page
portal system
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.)
Pending
Application number
CN202210855034.3A
Other languages
English (en)
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.)
Hefei Hantai Network Technology Co ltd
Original Assignee
Hefei Hantai Network Technology 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 Hefei Hantai Network Technology Co ltd filed Critical Hefei Hantai Network Technology Co ltd
Priority to CN202210855034.3A priority Critical patent/CN115563428A/zh
Publication of CN115563428A publication Critical patent/CN115563428A/zh
Pending legal-status Critical Current

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/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • 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/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • 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
    • 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
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • 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)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种浏览器端虚拟路径重写方法、系统和计算机设备,包括:系统根据用户角色权限,生成门户一级站点,并依据一级站点首站点ID,加载权限内所有站点页面和子站点;浏览器渲染生成页面的同时,运行脚本文件指令,将浏览器原有访问地址替换为待重写路径主路径。用户点击站点后,脚本指令计算该站点到一级站点路径,由该路径上全部站点名称和站点间分隔符形成子站点路径;调用历史History对象,运行脚本指令,将浏览器原有访问地址替换为待重写路径主路径/站点路径。本发明解决了传统的URL重写消耗较多的服务器端资源和宽带资源,导致用户难以获得较好的体验等问题,也解决了HTML5 history对象虚拟路径重写不能刷新的问题。

Description

浏览器端虚拟路径重写的方法、系统和计算机设备
技术领域
本发明涉及网络技术领域,特别是一种门户系统浏览器端虚拟路径重写方法、系统和计算机设备。
背景技术
在企业建设企业信息门户EIP(Enterprise Information Portal) 过程中,为了提高门户系统的安全性和便于用户记忆站点地址,常常会对统一资源定位符(UniformResource Locator,URL)进行重写。传统的URL重写,常常会需要页面回发(POSTBACK),导致服务器端的算力和吞吐量加大,消耗更多的服务器端资源和宽带资源,同时可能导致页面闪烁,用户难以获得较好的体验感。
HTML5新添加了对历史history的管理,但History API仅仅是对浏览器URL进行更新管理操作,浏览器并不会向服务器发送请求。例如执行了history.pushState()方法后,新的状态信息就会被加入到历史状态栈,只是导致history对象发生变化,地址栏会有反应,但是页面内容的变化仍然需要研发人员另行解决,需要另外编写JavaScript代码实现。
而且,在实际应用中重新刷新页面的时候,我们通常使用: location.reload()或者是 history.go(0) 来做。因为这种做法就像是客户端点F5刷新页面,所以页面的method="post"的时候,会出现"网页过期"的提示。那是因为Session的安全保护机制。能够想到: 当调用 location.reload() 方法的时候, WEB页面此时在服务端内存里已经存在, 因此必定是 IsPostback 的。如果有这种应用: 我们需要重新加载该页面,也就是说我们期望页面能够在服务端重新被创建, 我们期望是 Not IsPostback 的,这里,location.replace() 虽然能够完成此任务,但在门户系统中,生成的URL常常是虚拟路径,并不是实际存在的资源,前述解决方案只能得到所访问资源不存在的HTTP 404错误报告。
发明内容
为了解决上述实际问题,本发明提供了一种门户系统浏览器端虚拟路径重写方法、系统和计算机设备,解决了传统的URL重写消耗较多的服务器端资源和宽带资源以及页面闪烁用户难以获得较好的体验等问题,同时解决了HTML5 history对象仅仅是对浏览器URL进行更新管理操作,不能局部刷新页面站点内容的变化,以及不能解决浏览器重写为虚拟路径后不能刷新的问题。
为了实现上述目的,本发明采用如下技术方案:
本发明提供了一种门户系统浏览器端虚拟路径重写方法,包括:
用户通过浏览器登录门户系统,门户系统根据用户角色权限,在SPA单页面主导航栏生成门户一级站点,并依据一级站点首站点或默认首站点ID,加载其权限内所有站点页面和子站点,并在单页面主显示区域显示默认页面系统组件,生成新的单页面内容信息;
门户系统服务器将生成的页面内容信息随同相关CSS文件、JavaScript文件返回到客户浏览器端,浏览器渲染生成页面的同时,调用HTML 5 History对象,运行JavaScript文件中指令history.pushState()或history.replaceState(),将浏览器原有访问地址替换为待重写路径主路径;
用户点击门户系统任意一级站点后,浏览器端通过XMLHTTP协议向门户系统服务器端发起异步更新请求,门户系统服务器端根据导航栏点击的一级站点信息,返回更新请求的数据,浏览器获得相关数据后局部刷新单页面,并进入所点击的一级站点,调用history历史对象,运行文件中history.pushState()指令,将浏览器原有访问地址替换为待重写路径主路径/一级站点名称。
门户系统包含一级站点,每个一级站点能够包含多个子站点,每个子站点均同样能够包含多个子站点,形成递归站点树。门户系统一级站点、子站点、以及递归站点树中的任意站点均包含至少一个站点页面,每个站点页面能够包含一个或多个系统组件。
门户系统一级站点、站点树中的任意站点、站点页面均由用户自定义,由门户系统动态虚拟生成,门户系统服务器端并无实际对应URL, 站点、站点页面。
用户点击门户系统任意子站点后,浏览器端通过XMLHTTP协议向门户系统服务器端发起异步更新请求,门户系统服务器端根据该子站点信息,返回更新请求的数据,浏览器获得相关数据后局部刷新页面侧边栏以及页面主显示区信息,进入所点击的子站点;
前端脚本如JavaScript计算该子站点到一级站点路径,由该路径上全部站点名称和站点间分隔符形成子站点路径;并调用历史History对象,运行文件中history.pushState()指令,将浏览器原有访问地址替换为待重写路径主路径/子站点路径。
用户点击门户系统站点页面或站点页面门户组件后,门户系统服务器端根据该站点页面或站点页面门户组件信息,加载请求的数据,前端脚本如JavaScript在浏览器地址栏已重写的路径后加上该站点页面或站点页面门户组件名称信息。
运行JavaScript文件中指令history.pushState(),将浏览器原有访问地址替换为待重写路径时,同时生成浏览器状态对象实例,对象实例包含站点、页面、站点路径等信息。
在所述JavaScript文件中,捕获浏览器前进按钮和后退按钮导致的事件对象,根据对象中的站点、页面、站点路径等信息,调用相关JavaScript函数,并通过XMLHTTP协议向门户系统服务器端发起异步更新请求,门户系统服务器端根据该子站点路径信息或页面信息,返回更新请求的数据,浏览器获得相关数据后局部刷新页面侧边栏以及页面主显示区信息,通知浏览器恢复当前页面状态下的先前状态信息和后续状态信息。
在全局HTTP应用处理文件中,对于HTTP Request请求,检查其Request请求的URL是否包含主路径以及是否包含门户系统单页面文件后缀名,如果不包含,则返回退出该全局HTTP应用请求处理,否则,读取URL重写正则规则,根据请求内容读取服务器端内容,重新生成门户系统页面内容。
根据本发明的再一个方面,提供了一种门户系统浏览器端虚拟路径重写系统,包括:用户登录模块,门户管理模块,浏览器端虚拟路径重写模块,全局HTTP应用处理请求过滤模块。
其中,所述门户管理模块包括,根据用户角色权限,生成门户一级站点,并依据一级站点首站点或默认首站点ID,加载其权限内所有站点页面和子站点;门户系统一级站点、站点树中的任意站点、站点页面均由用户自定义,由门户系统动态虚拟生成,门户系统服务器端并无实际对应URL, 站点、站点页面;用户点击门户系统任意子站点后,浏览器端通过XMLHTTP协议向门户系统服务器端发起异步更新请求,门户系统服务器端根据该子站点信息,返回更新请求的数据,浏览器获得相关数据后局部刷新页面侧边栏以及页面主显示区信息,进入所点击的子站点;
门户系统一级站点、子站点、以及递归站点树中的任意站点均包含至少一个站点页面,站点页面能够包含多个门户系统组件。
其中,所述浏览器端虚拟路径重写模块还包括:用户登录系统时,运行JavaScript文件中指令history.pushState(),调用HTML 5 History对象,在浏览器渲染生成页面的同时,将浏览器原有访问地址替换为待重写路径主路径;
用户点击门户系统任意一级站点后,浏览器端通过XMLHTTP协议向门户系统服务器端发起异步更新请求,门户系统服务器端根据导航栏点击的一级站点信息,返回更新请求的数据,浏览器获得相关数据后局部刷新页面侧边栏以及页面主显示区信息,进入所点击的一级站点,并调用历史History对象,运行文件中history.pushState()指令,将浏览器原有访问地址替换为待重写路径主路径/一级站点名称;以及
用户点击门户系统任意子站点后,JavaScript计算该子站点到一级站点路径,由该路径上全部站点名称和站点间分隔符形成子站点路径;并调用历史History对象,运行文件中history.pushState()指令,将浏览器原有访问地址替换为待重写路径主路径/子站点路径; 运行JavaScript文件中指令history.pushState(),将浏览器原有访问地址替换为待重写路径时,同时生成浏览器状态对象实例,对象实例包含站点、页面、站点路径等信息;以及
用户点击门户系统站点页面或站点页面门户组件后,门户系统服务器端根据该站点页面或站点页面门户组件信息,加载请求的数据,前端脚本如JavaScript在浏览器地址栏已重写的路径后加上该站点页面或站点页面门户组件名称信息。
在所述JavaScript文件中,捕获浏览器前进按钮和后退按钮导致的事件对象,根据对象中的站点、页面、站点路径等信息,调用相关JavaScript函数,并通过XMLHTTP协议向门户系统服务器端发起异步更新请求,门户系统服务器端根据该子站点路径信息或页面信息,返回更新请求的数据,浏览器获得相关数据后局部刷新页面侧边栏以及页面主显示区信息,通知浏览器恢复当前页面状态下的先前状态信息和后续状态信息。
其中,所述全局HTTP应用处理请求过滤模块还包括:在全局HTTP应用处理文件中,对于任一HTTP Request请求,检查其Request请求的URL是否包含主路径以及是否包含门户系统单页面文件后缀名,如果不包含,则返回退出该全局HTTP应用请求处理,以及过滤掉任何与重写正则规则无关的系统资源请求;对于需要重写正则规则处理的系统资源请求,读取URL重写正则规则并按照正则规则要求重写浏览器端URL,以及根据请求内容读取服务器端内容,重新生成门户系统页面内容,完成浏览器端刷新。
本发明的再一方面,提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器用于执行如上述技术方案中任一项方法的步骤。
本发明的又一方面,提出了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现了如上述技术方案中任一项方法的步骤。
本发明具有以下有益效果:
1、 用门户站点名称作为虚拟路径代替系统资源的实际URL,隐藏了系统资源的实际URL,提高了门户系统的安全性,便于用户记忆归类站点地址和系统资源;
2、 解决了传统的URL重写回发导致消耗较多的服务器端资源和宽带资源,以及页面闪烁用户难以获得较好的体验等问题;
3、 解决了HTML5 history对象仅能够对浏览器地址栏URL进行更新管理操作,不能向服务器端发送请求并局部刷新页面站点内容的问题;
4、 门户系统中,生成的URL常常是虚拟路径,并不是实际存在的资源路径,刷新浏览器会导致出现访问资源不存在的HTTP 404错误问题,本发明解决了浏览器不能刷新虚拟路径的问题;
5、 全局HTTP应用处理请求过程中,大量与URL重写正则规则无关的系统资源被过滤掉,减轻了服务器端不必要的重写正则规则与URL重写的计算量,节省服务器端系统资源。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还能够根据这些附图获得其他的附图。
图1为本发明实施例提供的一种门户系统浏览器端虚拟路径重写方法流程示意图;
图2为本发明实施例提供的一种浏览器端虚拟路径重写的系统模块示意图;
图3为本发明实施例提供的一级站点导航示意图;
图4为本发明实施例提供的具体的一级站点子站点结构示意图;
图5为本发明实施例提供的计算机设备示意图。
具体实施方式
本发明公开了一种门户系统浏览器端虚拟路径重写方法和系统。在图1和图2中分别展示了本发明优选实施例的门户系统浏览器端虚拟路径重写方法流程示意图和浏览器端虚拟路径重写的门户系统模块示意图。
现在参照图1,其展示了本发明优选实施例的门户系统浏览器端虚拟路径重写方法的流程示意图。
用户通过浏览器登录门户系统,门户系统根据用户角色权限,在单页面主导航栏生成如图3所示的门户一级站点,并依据一级站点首站点或默认首站点ID,加载其权限内所有站点页面和子站点,并在单页面主显示区域显示默认页面系统组件,生成新的单页面内容信息;如图4所示,门户系统每个一级站点能够包含多个子站点,每个子站点均同样能够包含多个子站点,形成递归站点树,门户系统一级站点、子站点、以及递归站点树中的任意站点均包含一至多个站点页面,每个站点页面包含一至多个系统组件。
门户系统服务器将生成的页面内容信息随同相关CSS文件、JavaScript文件返回到浏览器,渲染生成页面的同时,调用HTML 5 History对象指令history.pushState(),将浏览器原有访问地址替换为待重写路径主路径;这里所述的待重写路径主路径是指重写到浏览器地址栏的虚拟路径名称,用户能够根据自身情况进行个性化虚拟路径名称设置,没有任何限制,如名称设置为“智慧平台”或“数字互联平台”等;如用户通过浏览器端URL地址http://localhost:13029 或者 http://localhost:13029/default.aspx访问系统后,地址栏重写为http://localhost:13029/智慧平台/ 或 http://localhost:13029/数字互联平台/。
用户点击门户系统站点后,浏览器端通过XMLHTTP协议向门户系统服务器端发起异步更新请求,服务器端根据该站点信息,返回更新请求的数据,浏览器获得相关数据后局部刷新,进入所点击的站点;以及
JavaScript计算该站点到一级站点路径,由该路径上全部站点名称和站点间分隔符形成站点路径;并调用历史History对象,运行文件中history.pushState()指令,将浏览器原有访问地址替换为待重写路径主路径/站点路径,同时生成浏览器状态对象实例,对象实例包含站点、页面、站点路径等信息,保存在history对象中。
在所述JavaScript文件中,设置window.onpopstate处理函数,捕获浏览器前进按钮和后退按钮导致的事件对象,根据对象中的站点、页面、站点路径等信息,调用相关JavaScript函数,并通过XMLHTTP协议向门户系统服务器端发起异步更新请求,门户系统服务器端根据该子站点路径信息或页面信息,返回更新请求的数据,浏览器获得相关数据后局部刷新页面侧边栏以及页面主显示区信息,通知浏览器恢复当前页面状态下的先前状态信息和后续状态信息。
门户系统一级站点、站点树中的任意站点、站点页面均由用户自定义,由门户系统动态虚拟生成,门户系统服务器端并无实际对应URL, 站点、站点页面,浏览器刷新页面将得到所访问资源不存在的HTTP 404错误报告。因此,在全局HTTP应用处理过程中,对于任一HTTP Request请求,检查其Request.RawUrl是否包含站点路径以及是否包含门户系统单页面文件后缀名,如果不包含,则退出该全局HTTP应用请求处理,否则,读取URL重写正则规则,根据请求内容读取服务器端内容,重新生成门户系统页面内容。
如图2所示为门户系统浏览器端虚拟路径重写系统的模块示意图,包括:用户登录模块,门户管理模块,全局HTTP应用处理请求过滤模块,浏览器端虚拟路径重写模块。
用户通过登录模块进入门户管理模块后,管理模块根据用户角色权限,生成门户一级站点,并依据一级站点首站点或默认首站点ID,加载其权限内所有站点页面和子站点,门户系统一级站点、子站点、以及递归站点树中的任意站点均包含一至多个站点页面,每个站点页面包含一个至多个系统组件;以及调用HTML 5 History对象history.pushState()方法,在浏览器渲染生成页面的同时,将浏览器原有访问地址替换为待重写路径主路径。
用户点击门户系统任意站点、页面或系统组件后,将向服务器端发送XMLHTTP请求,全局HTTP应用处理请求过滤模块检测所所有HTTP Request请求,如果Request.RawUrl包含站点路径或者包含门户系统单页面文件后缀名,则进一步调用正则规则进行URL匹配映射,并按照正则规则要求重写浏览器端URL,如果不包含,则返回退出该全局HTTP应用请求处理,以及过滤掉任何与重写正则规则无关的系统资源请求;对于需要重写正则规则处理的系统资源请求,读取URL重写正则规则并按照正则规则要求重写浏览器端URL,根据请求内容读取服务器端内容,重新生成门户系统页面内容,完成浏览器端刷新。
浏览器端虚拟路径重写模块负责用户进入门户管理模块后的URL重写:
用户点击门户系统任意站点后,JavaScript计算该站点到一级站点路径,由该路径上全部站点名称和站点间分隔符形成站点路径;并调用历史History对象,运行文件中history.pushState()指令,将浏览器原有访问地址替换为待重写路径主路径/站点路径;
用户点击门户系统站点页面或站点页面门户组件后,门户系统服务器端根据该站点页面或站点页面门户组件信息,加载请求的数据,前端脚本如JavaScript在浏览器地址栏已重写的路径后加上该站点页面或站点页面门户组件名称信息;同时生成浏览器状态对象实例,对象实例包含站点、页面、站点路径等信息并保存于history对象;
为捕获浏览器前进按钮和后退按钮导致的事件对象,在所述JavaScript文件中,设置window.onpopstate处理函数,根据事件对象中的站点、页面、站点路径等信息,调用相关JavaScript函数,并通过XMLHTTP协议向门户系统服务器端发起异步更新请求,门户系统服务器返回更新请求的数据,浏览器获得相关数据后局部刷新页面侧边栏以及页面主显示区信息,通知浏览器分别恢复当前地址栏状态下的先前URL地址和后续URL地址,完成浏览器端虚拟路径重写。
如图5所示为本发明实施例提供的一种浏览器端虚拟路径重写方法的计算机设备示意图。该计算机设备1包括存储器12、处理器14及存储在存储器12上并可在处理器14上运行的计算机程序,处理器14用于执行如上述实施例中任一项方法的步骤。
根据本发明的计算机设备1,其所包含的处理器14用于执行如上述实施例中浏览器端虚拟路径重写方法的步骤,因而该计算机设备1能够实现该浏览器端虚拟路径重写方法的全部有益效果,在此不再赘述。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (10)

1.一种浏览器端虚拟路径重写方法,其特征在于,包括:
(1)用户通过浏览器登录门户系统,门户系统根据用户角色权限,生成门户一级站点,并依据一级站点首站点或默认首站点ID,加载其权限内所有站点页面和子站点;
(2)门户系统服务器将生成的页面信息随同相关JavaScript文件返回到客户浏览器端,浏览器渲染生成页面的同时,调用HTML 5 History对象,运行JavaScript文件中指令history.pushState()或history.replaceState(),将浏览器原有访问地址替换为待重写路径主路径;
(3)用户点击门户系统任意一级站点后,浏览器端通过XMLHTTP协议向门户系统服务器端发起异步更新请求,门户系统服务器根据一级站点导航栏点击信息,返回更新请求的数据,浏览器获得相关数据后局部刷新SPA单页面,进入所点击的一级站点,并调用历史History对象,运行文件中history.pushState()指令,将浏览器原有访问地址替换为待重写路径主路径/一级站点名称;
(4) 用户点击子站点后,前端脚本如JavaScript计算该子站点到所属一级站点路径,由该路径上全部站点名称和站点间分隔符形成子站点路径;并调用历史History对象,运行文件中history.pushState()指令,将浏览器原有访问地址替换为待重写路径主路径/子站点路径;
(5) 生成浏览器状态对象实例,对象实例包含站点、页面、站点路径等信息, 由前端脚本如JavaScript文件中指令history.pushState()保存到history历史对象。
2.根据权利要求1所述的一种浏览器端虚拟路径重写方法,其特征在于,所述方法还包括:
用户点击门户系统站点页面或站点页面门户组件后,门户系统服务器端根据该站点页面或站点页面门户组件信息,加载请求的数据,前端脚本如JavaScript在浏览器地址栏已重写的路径后加上该站点页面或站点页面门户组件名称信息。
3.根据权利要求1所述的一种浏览器端虚拟路径重写方法,其特征在于,所述方法还包括:
在所述前端脚本如JavaScript文件中,捕获浏览器前进按钮和后退按钮导致的事件对象,根据对象中的站点、页面、站点路径等信息,调用相关JavaScript函数,并通过XMLHTTP协议向门户系统服务器端发起异步请求,门户系统服务器根据该子站点路径信息或页面信息,返回请求的数据,浏览器获得相关数据后局部刷新单页面信息,通知浏览器恢复当前页面状态下的先前状态信息和后续状态信息。
4.根据权利要求1所述的一种浏览器端虚拟路径重写方法,其特征在于,所述方法还包括:
在全局HTTP应用处理文件中,对于HTTP Request请求,检查其Request请求的URL是否包含主路径以及是否包含门户系统单页面文件后缀名,如果不包含,则退出该全局HTTP应用请求处理并返回,否则,读取URL重写正则规则,根据请求内容读取服务器端内容,重新生成门户系统单页面内容。
5.一种浏览器端虚拟路径重写系统,包括:用户登录模块,门户管理模块,浏览器端虚拟路径重写模块,全局HTTP应用处理请求过滤模块;
其中,门户管理模块包括,根据用户角色权限,生成门户一级站点导航栏,并依据一级站点导航栏首站点或默认首站点ID,加载其权限内所有站点页面和子站点;
一级站点均能包含多个站点页面和子站点,每个子站点均同样能够包含多个站点页面和子站点,形成递归站点树;门户组件系统包含于站点页面。
6.一种浏览器端虚拟路径重写系统,所述浏览器端虚拟路径重写模块还包括:
用户登录系统时,运行JavaScript文件中指令history.pushState(),调用HTML 5History对象,在浏览器渲染生成SPA单页面的同时,将浏览器原有访问地址替换为待重写路径主路径;
用户点击门户系统任意一级站点后,浏览器端通过XMLHTTP协议向门户系统服务器端发起异步请求,门户系统服务器根据导航栏点击的一级站点信息,返回请求的数据给客户端浏览器,浏览器获得相关数据后局部刷新SPA单页面,进入所点击的一级站点,并调用历史History对象,运行文件中history.pushState()指令,将浏览器原有访问地址替换为待重写路径主路径/一级站点名称;
用户点击门户系统任意子站点后,JavaScript计算该子站点到一级站点路径,由该路径上全部站点名称和站点间分隔符形成子站点路径;并调用历史History对象,运行文件中history.pushState()指令,将浏览器原有访问地址替换为待重写路径主路径/子站点路径。
7.一种浏览器端虚拟路径重写系统,所述浏览器端虚拟路径重写模块还包括:
运行JavaScript文件中指令history.pushState(),将浏览器原有访问地址替换为待重写路径时,同时生成浏览器状态对象实例,对象实例包含站点、页面、站点路径等信息。
8.一种浏览器端虚拟路径重写系统,所述浏览器端虚拟路径重写模块还包括:
在所述JavaScript文件中,捕获浏览器前进按钮和后退按钮导致的事件对象,根据对象中的站点、页面、站点路径等信息,调用相关JavaScript函数,并通过XMLHTTP协议向门户系统服务器端发起异步请求,门户系统服务器端根据该子站点路径信息或页面信息,返回请求的数据,浏览器获得相关数据后局部刷新SPA单页面信息,通知浏览器恢复当前页面状态下的先前状态信息和后续状态信息。
9.一种浏览器端虚拟路径重写系统,所述全局HTTP应用处理请求过滤模块还包括:
在全局HTTP应用处理文件中,对于HTTP Request请求,检查该请求的URL是否包含主路径以及是否包含门户系统单页面文件后缀名,如果不包含,则返回退出该全局HTTP应用请求处理;在门户系统全局HTTP应用处理过程中,过滤掉任何与重写正则规则无关的系统资源请求,仅处理需要满足正则规则重写要求的系统资源请求,通过读取URL重写正则规则完成URL重写,并根据请求内容读取服务器端内容,重新生成门户系统单页面内容。
10.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器用于执行如权利要求1至6中任一项所述方法的步骤。
CN202210855034.3A 2022-07-20 2022-07-20 浏览器端虚拟路径重写的方法、系统和计算机设备 Pending CN115563428A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210855034.3A CN115563428A (zh) 2022-07-20 2022-07-20 浏览器端虚拟路径重写的方法、系统和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210855034.3A CN115563428A (zh) 2022-07-20 2022-07-20 浏览器端虚拟路径重写的方法、系统和计算机设备

Publications (1)

Publication Number Publication Date
CN115563428A true CN115563428A (zh) 2023-01-03

Family

ID=84739988

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210855034.3A Pending CN115563428A (zh) 2022-07-20 2022-07-20 浏览器端虚拟路径重写的方法、系统和计算机设备

Country Status (1)

Country Link
CN (1) CN115563428A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984686A (zh) * 2013-02-07 2014-08-13 阿里巴巴集团控股有限公司 页面切换方法及装置
CN104850602A (zh) * 2015-05-04 2015-08-19 微梦创科网络科技(中国)有限公司 一种基于互联网网页的渲染刷新实现方法及装置
CN110569463A (zh) * 2019-08-02 2019-12-13 视联动力信息技术股份有限公司 页面刷新方法、装置及存储介质
CN111898050A (zh) * 2020-06-18 2020-11-06 上海嵩恒网络科技股份有限公司 一种自动加载下一篇新闻的方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984686A (zh) * 2013-02-07 2014-08-13 阿里巴巴集团控股有限公司 页面切换方法及装置
CN104850602A (zh) * 2015-05-04 2015-08-19 微梦创科网络科技(中国)有限公司 一种基于互联网网页的渲染刷新实现方法及装置
CN110569463A (zh) * 2019-08-02 2019-12-13 视联动力信息技术股份有限公司 页面刷新方法、装置及存储介质
CN111898050A (zh) * 2020-06-18 2020-11-06 上海嵩恒网络科技股份有限公司 一种自动加载下一篇新闻的方法及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
EC前端-WEB开发手册: "history.pushstate()" *
张鑫旭: "ajax与HTML5 history pushstate/replacestate实例" *
沈鸿: "高职院校网站群管理系统的应用与实践", no. 173, pages 2 - 3 *
霍根: "《Web开发秘方》", 华中科技大学出版社, pages: 80 - 83 *

Similar Documents

Publication Publication Date Title
CN108228282B (zh) 用于网站页面加载的方法及装置
CN112073405B (zh) 网页数据加载方法、装置、计算机设备及存储介质
US10356156B2 (en) Method and device for loading webpage
US7523223B2 (en) Web control simulators for mobile devices
US8880710B2 (en) Website monitoring and cookie setting
CN104967542B (zh) 一种移动端页面的测试方法、装置和系统
US20040024843A1 (en) Method for provisioning distributed web applications
CN107066631A (zh) 页面的显示方法、装置及电子设备
CN112637361B (zh) 一种页面代理方法、装置、电子设备及存储介质
CN107154963A (zh) 一种请求处理方法、装置及电子设备
CN103152367A (zh) 一种缓存的动态维护更新方法及系统
CN114697304B (zh) 一种灰度发布方法、系统、装置、设备及存储介质
CN105743945A (zh) 基于切换下载源的文件下载方法及系统
CN111859224A (zh) 基于节点服务器的服务端渲染方法、装置和计算机设备
CN112612546A (zh) 页面加载方法、装置、电子设备和存储介质
CN111428169A (zh) 页面加载的优化方法、系统、服务器及存储介质
CN111800511B (zh) 同步登录态的处理方法、系统、设备及可读存储介质
CN102984179A (zh) 一种面向云计算操作系统进行Web服务跨域访问的方法
CN115563428A (zh) 浏览器端虚拟路径重写的方法、系统和计算机设备
US10530709B2 (en) Container contract for data dependencies
US20240362294A1 (en) Method, system, and computer device for rewriting browser side virtual path
CN110737861A (zh) 一种网页数据处理方法、装置、设备和存储介质
CN113254753B (zh) 一种页面回退方法、装置、电子设备及存储介质
US8402367B1 (en) Smart reload pages
CN115643054A (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