CN111898055A - 一种浏览器网页的录屏与回放方法 - Google Patents
一种浏览器网页的录屏与回放方法 Download PDFInfo
- Publication number
- CN111898055A CN111898055A CN202010794679.1A CN202010794679A CN111898055A CN 111898055 A CN111898055 A CN 111898055A CN 202010794679 A CN202010794679 A CN 202010794679A CN 111898055 A CN111898055 A CN 111898055A
- Authority
- CN
- China
- Prior art keywords
- data
- recording
- browser
- node
- incremental
- 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.)
- Withdrawn
Links
Images
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/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- 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/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
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 Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种浏览器网页的录屏与回放方法,所述方法包括:全量记录HTML网页快照,并转换成VNode节点数据,增量记录影响页面元素变化的动作数据;把数据序列化,并保存在浏览器数据库中;将数据上传到对象服务器中持久化存储;通过播放管理系统获取需要渲染的全量与增量数据,利用渲染器渲染还原成真实的HTML(超文本标记语言,下同)结构。本发明利用对浏览器的全量快照与增量动作的叠加算法渲染出动画,可以让网页像传统视频一样来进行播放,具有高性能、高压缩比、无损的特点,录制体积只有传统视频录像的百分之一大小;可以广泛运作于监控系统,行为分析,案例复盘,远程教育,低流量视频协同等场景。
Description
技术领域
本发明主要涉及互联网相关技术领域,具体是一种浏览器网页的录屏与回放方法。
背景技术
如果可以将用户在网页中的交互行为像传统视频一样来进行播放,其将会在监控系统,行为分析,案例复盘,远程教育,低流量视频协同等场景中具有重要的应用。因此,提供相应的浏览器网页录屏与回放技术,同时解决计算与存储效率、数据完整性等问题,一直以来是本领域技术人员亟需解决的一项技术问题。
发明内容
为解决目前技术的不足,本发明结合现有技术,从实际应用出发,提供一种浏览器网页的录屏与回放方法,利用对浏览器的全量快照与增量动作的叠加算法渲染出动画,可以让网页像传统视频一样来进行播放,具有高性能、高压缩比、无损的特点,录制体积只有传统视频录像的百分之一大小;可以广泛运作于监控系统,行为分析,案例复盘,远程教育,低流量视频协同等场景。
本发明的技术方案如下:
一种浏览器网页的录屏与回放方法,所述方法包括:
全量记录HTML网页快照,并转换成VNode节点数据,增量记录影响页面元素变化的动作数据;
把数据序列化,并保存在浏览器数据库中;
将数据上传到对象服务器中持久化存储;
通过播放管理系统获取需要渲染的全量与增量数据,利用渲染器渲染还原成真实的HTML结构。
进一步,所述全量记录网页的HTML文档,并转换成VNode节点数据包括:
基于DOM的API获取页面的节点数据对DOM进行深度遍历后将DOM映射成VNode类型节点数据。
进一步,需要记录的DOM节点数据,主要包括ELEMENT节点,COMMENT节点和TEXT节点三种类型。
进一步,所述增量记录影响页面元素变化的动作数据包括:
对DOM的变化使用MutationObserver记录到attributes,characterData,childList三种类型的变化,配合addEventListener的能力组合记录页面一系列的操作事件。
进一步,所述增量记录影响页面元素变化的动作数据包括:
基于mouseMove和click事件记录鼠标动作,对于mouseMove事件,通过样条曲线函数计算出移动轨迹、抖动、加速度数据生成一条路径曲线用来记录鼠标的移动。
进一步,所述增量记录影响页面元素变化的动作数据包括:
基于Node.addEventListener的input blur focus事件记录Input的变化,若是通过JavaScript对标签进行赋值,通过Object.defineProperty来对一些表单对象的特殊属性进行劫持,在不影响目标赋值的情况下,把value新值转发到自定的handle上,统一处理状态变化。
进一步,所述增量记录影响页面元素变化的动作数据包括:
对Canvas元素,通过猴子补丁的方式去扩展或修改相应的API,从而获取到对应的动作;对Iframe元素,在非跨域的状态下,直接访问内部的节点进行录制;对Video元素,利用HTMLVideoElement获取并且记录视频的状态信息;对Flash元素,通过截屏的方式进行录制。
进一步,通过播放管理系统获取需要渲染的全量与增量数据,利用渲染器渲染还原成真实的HTML结构包括:
通过样条曲线模拟鼠标轨迹,通过规则筛选出鼠标轨迹关键点后,利用样条曲线计算函数,按照最小间隔进行取样并插入至鼠标路径队执行列里,当渲染重绘鼠标位置时,得到一个近似曲线的鼠标轨迹。
进一步,通过播放管理系统获取需要渲染的全量与增量数据,利用渲染器渲染还原成真实的HTML结构包括:
播放管理系统的播放器内置有计时器,栈中的每一个对象就是一帧,通过RAF对数据帧的时间戳进行扫描从而得知下一帧在什么时间发生;通过CancelAnimationFrame暂停计时器;通过加速渲染帧的速率进行快进;在内存中按照一定的距离计算出相应的快照与动作,使其形成一个区块,通过定位到相应的区块中进行计算并渲染实现双向跳转行为。
本发明的有益效果:
本发明所提供的浏览器网页的录屏与回放方法,利用对浏览器的全量快照与增量动作的叠加算法渲染出动画,可以让网页像传统视频一样来进行播放,同时该技术加大程度减小录像文件体积、具有极低的CPU与内存占用比率,能够无损显示、可以进行无极缩放,窗口自适应等,记录的全序列化数据,十分利于数据分析,录制简易,播放方便,直接导出html文件,可以在任何平台的任何浏览器播,可以广泛运作于监控系统,行为分析,案例复盘,远程教育,低流量视频协同等场景。
附图说明
图1是本发明的实现步骤流程图;
图2是本发明的核心架构图;
图3是本发明的鼠标轨迹示意图;
图4是本发明的通过样条曲线模拟鼠标虚拟轨迹示意图。
具体实施方式
结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所限定的范围。
本发明是一种浏览器网页的录屏与回放技术,利用对浏览器的全量快照与增量动作的叠加算法渲染出动画,可以让网页像传统视频一样来进行播放,具有高性能、高压缩比、无损的特点,录制体积只有传统视频录像的百分之一大小,可以广泛运作于监控系统,行为分析,案例复盘,远程教育,低流量视频协同等场景。
如图1所示为本发明的实现步骤流程图。
其主要步骤如下:
全量记录HTML网页快照,并转换成VNode节点数据(即虚拟节点数据),增量记录影响页面元素变化的动作数据;
把数据序列化,并保存在浏览器数据库中;
将数据上传到对象服务器中持久化存储;
通过播放管理系统获取需要渲染的全量与增量数据,利用渲染器渲染还原成真实的HTML结构。
如图2所示,为本发明的结构框架图。
核心模块主要分为以下四个模块:
1.Record:负责网页的快照以及各种行为数据进行分类采集
2.Virtual Dom:负责将采集数据转换为一种可序列化的结构,同时支持还原
3.Player:负责将数据渲染成视频,并控制视频的播放
4.Cloud Service:负责数据的网络存储以及实时计算。
本发明的具体实现技术如下:
对DOM进行快照:
通过DOM的API可以很轻易的拿到页面的节点数据,但是对于本技术的需求而言,显而DOM Node提供的数据太冗余了,这一步通过参考VirtualDom的设计,可以把信息类型进行精简,参考实现过程如下:
(VNode结构代码示意)interface VNode{
type:number
id:number
tag:string
attrs:Attrs
children:VNode[]
extra:Extra
}
对DOM进行深度遍历后,DOM被映射成了VNode类型节点,需要记录的Node主要是三种类型,三种浏览器节点类型分别是ELEMENT_NODE,COMMENT_NODE和TEXT_NODE,之后在播放时,只需要对VNode进行解析,就可以还原成记录时的状态。在这过程中,有一些节点和属性可以进行特殊处理,例如:
.InputElement(浏览器内置对象)等类型的value checked是无法从DOM获取的,需要从节点中对象中获取
·script标签的内容由于之后不会去执行,所以可以直接skip或者标记为noscript
.SVG可以直接获取,但是它本身以及它的子元素重新转换为DOM的时候需要使用createElementNS(浏览器内置对象)的方法创建元素
·src或href属性如果是相对路径,需要把他们转换为绝对路径。
记录影响页面元素变化的Action:
DOM的变化可以使用MutationObserver(浏览器内置对象),监听到attributes,characterData,childList三种类型的变化,参考实现过程如下:
再借助WindowEventHandlers addEventListener等的能力组合,就可以监听到页面一系列的操作事件了。
通过mouseMove(浏览器事件)和click事件(浏览器事件)记录鼠标动作。
对于mouseMove事件,在移动的过程中会频繁的触发,产生很容冗余的数据,这样的数据会浪费很多的空间,因此对于鼠标的轨迹,可以只采集少量的关键点,最简单的办法是使用节流来减小事件产生的数据量。但是这种方法截流的间隔中可能会丢失关键的鼠标坐标数据,只采即时通过截流在移动距离足够长的时候任然会产生巨大的数据量,因此可以通过Spline Curves(样条曲线)函数来计算得出移动轨迹、抖动、加速度等生成一条路径曲线用来控制鼠标的移动。
Input的变换可以通过Node.addEventListener(浏览器内置对象)的input blurfocus事件监听,不过这只能监听到用户的行为,如果是通过JavaScript对标签进行赋值,是监听不到数据的变化的,这时可以通过Object.defineProperty((JavaScript方法))来对一些表单对象的特殊属性进行劫持,在不影响目标赋值的情况下,把value新值转发到自定的handle上,统一处理状态变化。参考实现过程如下:
由于DOM的Diff Patch是借助MutationObserver来实现的,需要对发生更变的记录进行收集处理,这涉及到一些关键问题:例如DOM更变的时序是有先后的,Mutation(MutationObserver回
调的数据对象)只归纳为新增和删除,但是在调用insertBefore(浏览器内置对象)或者appendChild(浏览器内置对象),的时候,会造成移动,要对这些节点进行处理,标记为移动,否则节点的引用丢失就可能会导致渲染错误。
MutationObserver IE11及以上,安卓4.4及以上可以使用,对于老浏览器的兼容可以通过mutationobserver-shim(第三方插件)的方式来支持,但是使用shim可能会因为收集的数据致精度不足从而产生一些致命Bug,另外还有一种情况是某些网站可能会屏蔽的掉MutationObserver这个API,遇到这种清空可以通过创建Iframe的方式来还原NativeCode。
Canvas、Iframe、Video等元素的处理
Canvas:通过数据劫持的方式(Object.defineProperty或ES6 Proxy)去扩展或修改相应的API,从而获取到对应的动作;
Iframe:在非跨域的状态下,也可以直接访问内部的节点进行录制,类似的还有Shadow Dom;
Video:利用HTMLVideoElement(浏览器内置对象)获取并且记录视频的状态信息;
Flash:通过截屏的方式进行录制。
加载HTML以后会引用很多外界的资源,通常会有多种形式
例如:
1.绝对路径<img src=″/xx.png″/>
2.相对路径<img src=″./xx.png″/>
3.相对当前path的路径<img src=″xx.png″/>
4.协议相对URL(The Protocol-relative URL)<img src=″//cnd.xx.png″/>
5.srcset响应式图片Responsive images srcset=″www.xxx.png 1x,www.xxx.png 2x″
…
对于以上需要,可以使用一个转换器来处理路径问题,在Deserialize阶段,把他们转成原域名下的绝对路径才能在跨域下正常加载还有一种情况是对于第三方资源加载第三方资源的问题,这就需要借助服务器来解决了。
对于CORS Error问题,通常是由于被录制的网站对资源进行了限制,开启了CORSPolicy,解决方案是,如果资源可控,可以添加白名单或者忽略,或者使用代理服务器实现。
在客户端进行的Gzip压缩:
Gzip一般是在网络应用层里对传输数据进行压缩,但是我们的数据不一定只存在数据库里,可能会有三种储存方式
·服务器存储TCP=>DB
·本地储存LocalStorage(浏览器内置存储器)、IndexedDB(浏览器内置数据库)、Web SQL(浏览器内置数据库)
·数据持久化于script中,保存为本地文件,例如直接导出可运行的HTML文件
利用客户端的运算能力,在进行导出或者传输之前,可以对数据进行压缩,极大程度的减小体积,利用Pako.js(第三方工具),的Gzip方法来对数据进行压缩
GZip的核心是Deflate,而Deflate又是基于LZ77和哈夫曼树的,通过GZip把文本数据转换成Uint8Array,再把Uint8转成对应的ASCII,这样的好处是每一个编码只会占用1byte的空间,通过压缩减少约5倍左右的体积。
数据上传:
对于客户端的数据,可以利用浏览器提供的indexedDB进行存储,毕竟indexedDB会比LocalStorage容量大得多,一般来说不少于250MB,甚至没有上限,此外它使用objectstore存储,而且支持transaction,另外很重要的一点它是异步的,意味着不会阻塞录屏器的运行,之后数据可以通过WebSocket或http方式持续上传到服务器中,由于数据是分块进行传输的,在同步之后还可以增加数据校验码来保证一致性避免错误。
加载SDK:
通过Ro|IUp(第三方工具)打包器可以生成多种格式版本,例如UMD(模块类型)与ESM(模块类型)等在项目中加载SDK或者利用Chrome Extension(Chrome浏览器插件)的插件机制注入UMD模块,可以很方便的加载代码,控制数据录制写入的过程。
云存储服务:
数据可以上传的到云服务器,选用OBS对象存储数据进行存储,在传输器的设计中,需要考虑对数据块进行加密,以及可靠传输的校验重传机制可以选择性的集成:多租户管理系统,数据分析系统,Stream处理系统,分布式计算系统等。
在开始播放前,需要把之前的存储的数据还原成真实的DOM,这个过程中会占用一定的加载时间产生白屏,这取决于用户的浏览器性能以及录制网页资源情况,参考FMP(First Meaningful Paint)(首页有效绘制)的实现,加载过程中可以通过之前映射的数据动态生成骨架图,等待FMP发出Ready信号之后再播放。
用户在网页中移动鼠标会产生很多mouseMove事件,通过const{x,y}=event.target获取到了轨迹的坐标与时间戳,假如我在页面上用鼠标划过一个″爱心″的轨迹,可能会得到如图3所示这样的坐标点,但是对于录屏这个业务场景来说,大部分场合并不要求100%还原精确的鼠标轨迹,而是只会关心两种情况:鼠标在哪里点击以及鼠标在哪里停留,那么通过这个两个策略对鼠标轨迹进行精简后,画一个″爱心″大约只需要6个点,通过样条曲线来模拟鼠标的虚拟轨迹,当t=0.2的时候,就可以得到一个如图4所示的带着弧度的轨迹了。通过规则筛选出关键点后,利用B样条曲线计算函数,按照最小间隔进行取样并插入我们的鼠标路径队执行列里,当渲染时重绘鼠标位置的时候,就可以得到一个近似曲线的鼠标轨迹了。
当在一个输入框中不断的敲击内容时,Watcher函数会源源不断的事件响应,通过Event.target.value(浏览器事件对象)可以拿到当前HTMLInputElement(浏览器内置对象)最新的值,利用节流函数可以过滤掉一些冗余的响应,但是还不够,例如在一个TextArea中的文本会非常的长,假设文本的长度是n,我们在文本后面添加了10个字符,每次输入响应1次,那么响应的长度是:
10n+∑(k=1,n=10)
可见会产生大量的数据
通过Diff Patch(一种字符串差异算法)之后,把字符串abcd修改bcde可以表达为:
[-a]bcd[+e]
删除第0位1个,从第3位插入一个e,参考过程如下:
在之前已经通过鼠标事件记录了完整的坐标信息,通过heatmap.js可以很方便的生成热力图,用于对用户的行为数据进行分析。
对于一些客户个人隐私数据,通过在开发时对DOM进行标注的Node.COMMENT_NODE(例如:<!--…-->)信息申明,是可以获取并加工的。通过约定好的声明对需要脱敏的DOM块按业务的需求进行处理即可,例如在项目的DEMO中,需要在回放的时候把<button>标签隐藏掉,只需改写成<!--hidden--><button>。
录制的内容有可能属于第三方提供,这意味着可能存在一定的风险,网站中可能有一些恶意的脚本并没有被完全过滤掉,例如:<div onload=″alert(′something′);script…″></div>,或者播放器中的一些事件也可能对播放内容产生影响,这时候需要一个沙盒来隔离播放内容的环境,HTML5提供的Sandbox可以轻易的隔离环境。
播放、跳转与快进:
播放
播放器会内置一个精确的计时器,动作的数据存储在一个栈中,栈中的每一个对象就是一帧,通过RAF(RequestAnimationFrame)(浏览器内置对象)对数据帧的时间戳进行扫描从而得知下一帧在什么时间发生
暂停
通过CancelAnimationFrame(浏览器内置对象)暂停计时器
快进
加速渲染帧的速率
双向跳转
跳转是个复杂的问题,如果要实现像视频那样可以向前与向后的双向跳转,由于受到渲染引擎的约束,本技术没有实现出一个反向渲染的方法,而是通过特殊的办法来解决。
要实现双向跳转,这里的思路是在内存中按照一定的距离计算出相应的S(Snapshot)与A(Action)
例如:[SAAASAASAAA...]
于是[SAAA]形成了一个区块,发生跳转行为时,会定位到相应的区块中进行计算后并渲染。
通过HTML5提供的WebRTC(网页即时通信)接口可以进行音频录制,由于主要是录制人声语音,所以对于录制品质要求并不高,因此可以选用了8000的采样率和8比特率单声道的PCM录制格式,后期可以转化为有损压缩的mp3格式以节省空间,字幕会通过一些第三方服务分析录制文件后自动生成。
本发明的上述技术如下如下的优点:
1.极大程度减小录像文件体积
2.极低的CPU与内存占用比率
3.无损显示,可以进行无极缩放,窗口自适应等
4.非常灵活的时间跳转,几乎无法感知的缓冲时间
5.所有信息都是活的,文本图片可以复制,链接可以点击,鼠标可以滚动
6.可以方便的录制声音,并让声音和画面同步,还以类似YouTube(一个视频网站)那样把声音翻译成字幕
7.方便进行视频细节的修改,例如显示的内容进行脱敏,生成热力图等
8.记录的全序列化数据,十分利于数据分析
9.录制简易,播放方便,直接导出html文件,可以在任何平台的任何浏览器播放。
本发明的技术可以广泛运作于监控系统,行为分析,案例复盘,远程教育,低流量视频协同等场景。
Claims (9)
1.一种浏览器网页的录屏与回放方法,其特征在于,所述方法包括:
全量记录HTML网页快照,并转换成VNode节点数据,增量记录影响页面元素变化的动作数据;
把数据序列化,并保存在浏览器数据库中;
将数据上传到对象服务器中持久化存储;
通过播放管理系统获取需要渲染的全量与增量数据,利用渲染器渲染还原成真实的HTML结构。
2.根据权利要求1所述的浏览器网页的录屏与回放方法,其特征在于,所述全量记录网页的HTML文档,并转换成VNode节点数据包括:
基于DOM的API获取页面的节点数据对DOM进行深度遍历后将DOM映射成VNode类型节点数据。
3.根据权利要求2所述的浏览器网页的录屏与回放方法,其特征在于,需要记录的DOM节点数据包括ELEMENT节点,COMMENT节点和TEXT节点三种类型。
4.根据权利要求1所述的浏览器网页的录屏与回放方法,其特征在于,所述增量记录影响页面元素变化的动作数据包括:
对DOM的变化使用MutationObserver记录到attributes,characterData,childList三种类型的变化,配合addEventListener的能力组合记录页面一系列的操作事件。
5.根据权利要求1所述的浏览器网页的录屏与回放方法,其特征在于,所述增量记录影响页面元素变化的动作数据包括;
基于mouseMove和click事件记录鼠标动作,对于mouseMove事件,通过样条曲线函数计算出移动轨迹、抖动、加速度数据生成一条路径曲线用来记录鼠标的移动。
6.根据权利要求1所述的浏览器网页的录屏与回放方法,其特征在于,所述增量记录影响页面元素变化的动作数据包括:
基于Node.addEventListene r的input blur focus事件记录Input的变化,若是通过JavaScript对标签进行赋值,通过Object.defineProperty来对一些表单对象的特殊属性进行劫持,在不影响目标赋值的情况下,把value新值转发到自定的handle上,统一处理状态变化。
7.根据权利要求1所述的浏览器网页的录屏与回放方法,其特征在于,所述增量记录影响页面元素变化的动作数据包括;
对Canvas元素,通过猴子补丁的方式去扩展或修改相应的APT,从而获取到对应的动作;对Iframe元素,在非跨域的状态下,直接访问内部的节点进行录制;对Video元素,利用HTMLVideoElement获取并且记录视频的状态信息;对Flash元素,通过截屏的方式进行录制。
8.根据权利要求1所述的浏览器网页的录屏与回放方法,其特征在于,通过播放管理系统获取需要渲染的全量与增量数据,利用渲染器渲染还原成真实的HTML结构包括:
通过样条曲线模拟鼠标轨迹,通过规则筛选出鼠标轨迹关键点后,利用样条曲线计算函数,按照最小间隔进行取样并插入至鼠标路径队执行列里,当渲染重绘鼠标位置时,得到一个近似曲线的鼠标轨迹。
9.根据权利要求1所述的浏览器网页的录屏与回放方法,其特征在于,通过播放管理系统获取需要渲染的全量与增量数据,利用渲染器渲染还原成真实的HTML结构包括:
播放管理系统的播放器内置有计时器,栈中的每一个对象就是一帧,通过RAF(RequestAnimationFrame)对数据帧的时间戳进行扫描从而得知下一帧在什么时间发生;通过CancelAnimationFrame暂停计时器;通过加速渲染帧的速率进行快进;在内存中按照一定的距离计算出相应的快照与动作,使其形成一个区块,通过定位到相应的区块中进行计算并渲染,从而实现双向跳转行为。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010794679.1A CN111898055A (zh) | 2020-08-10 | 2020-08-10 | 一种浏览器网页的录屏与回放方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010794679.1A CN111898055A (zh) | 2020-08-10 | 2020-08-10 | 一种浏览器网页的录屏与回放方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111898055A true CN111898055A (zh) | 2020-11-06 |
Family
ID=73246282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010794679.1A Withdrawn CN111898055A (zh) | 2020-08-10 | 2020-08-10 | 一种浏览器网页的录屏与回放方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111898055A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254823A (zh) * | 2021-05-13 | 2021-08-13 | 浙江网商银行股份有限公司 | 网页数据处理方法及装置 |
CN113609412A (zh) * | 2021-06-28 | 2021-11-05 | 北京华云安信息技术有限公司 | 通过Hook关键函数和事件获取URL的方法 |
CN113613049A (zh) * | 2021-07-22 | 2021-11-05 | 山东云缦智能科技有限公司 | 机顶盒媒体播放器进度条平滑拖动的方法 |
CN113656119A (zh) * | 2021-07-14 | 2021-11-16 | 深圳万物安全科技有限公司 | 一种通过dom节点回溯用户操作的方法及系统 |
CN113938619A (zh) * | 2021-10-28 | 2022-01-14 | 稿定(厦门)科技有限公司 | 一种基于浏览器的视频合成方法、系统、储存装置 |
CN113934962A (zh) * | 2021-10-13 | 2022-01-14 | 上海中通吉网络技术有限公司 | 基于数据拦截的浏览器操作回放方法 |
CN114257637A (zh) * | 2021-12-14 | 2022-03-29 | 优默网络科技(深圳)有限公司 | 任务执行方法、装置、终端设备和可读存储介质 |
US11487931B1 (en) | 2021-10-18 | 2022-11-01 | International Business Machines Corporation | Replaying a webpage based on virtual document object model |
-
2020
- 2020-08-10 CN CN202010794679.1A patent/CN111898055A/zh not_active Withdrawn
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254823A (zh) * | 2021-05-13 | 2021-08-13 | 浙江网商银行股份有限公司 | 网页数据处理方法及装置 |
CN113609412A (zh) * | 2021-06-28 | 2021-11-05 | 北京华云安信息技术有限公司 | 通过Hook关键函数和事件获取URL的方法 |
CN113656119A (zh) * | 2021-07-14 | 2021-11-16 | 深圳万物安全科技有限公司 | 一种通过dom节点回溯用户操作的方法及系统 |
CN113613049A (zh) * | 2021-07-22 | 2021-11-05 | 山东云缦智能科技有限公司 | 机顶盒媒体播放器进度条平滑拖动的方法 |
CN113613049B (zh) * | 2021-07-22 | 2023-04-07 | 山东浪潮超高清视频产业有限公司 | 机顶盒媒体播放器进度条平滑拖动的方法 |
CN113934962A (zh) * | 2021-10-13 | 2022-01-14 | 上海中通吉网络技术有限公司 | 基于数据拦截的浏览器操作回放方法 |
US11487931B1 (en) | 2021-10-18 | 2022-11-01 | International Business Machines Corporation | Replaying a webpage based on virtual document object model |
CN113938619A (zh) * | 2021-10-28 | 2022-01-14 | 稿定(厦门)科技有限公司 | 一种基于浏览器的视频合成方法、系统、储存装置 |
CN114257637A (zh) * | 2021-12-14 | 2022-03-29 | 优默网络科技(深圳)有限公司 | 任务执行方法、装置、终端设备和可读存储介质 |
CN114257637B (zh) * | 2021-12-14 | 2023-12-08 | 优默网络科技(深圳)有限公司 | 任务执行方法、装置、终端设备和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111898055A (zh) | 一种浏览器网页的录屏与回放方法 | |
US8990291B2 (en) | Information processing apparatus, server-client system, and computer program product | |
US20210294727A1 (en) | Monitoring web application behavior from a browser using a document object model | |
US9418172B2 (en) | Systems and methods for remote tracking and replay of user interaction with a webpage | |
US8326922B2 (en) | Method for server-side logging of client browser state through markup language | |
CN111818123B (zh) | 网络前端远程回放方法、装置、设备及存储介质 | |
US20130132833A1 (en) | Systems and Methods For Remote Tracking And Replay Of User Interaction With A Webpage | |
US10853218B1 (en) | Recording and playback of a web browser session | |
US7739697B2 (en) | System and method for creating web services from an existing web site | |
US20190303178A1 (en) | Capturing and processing interactions with a user interface of a native application | |
WO2012120658A1 (ja) | ウェブ操作記録・再現方法および装置 | |
CN111078519A (zh) | 异常监控行为回溯的方法、装置和电子设备 | |
CN111858255A (zh) | 基于屏幕截图的用户行为采集方法及相关设备 | |
CN110334302B (zh) | 复杂Web应用前端运行时分析方法 | |
US11687613B2 (en) | Generating lossless static object models of dynamic webpages | |
CN113792233A (zh) | 网页录屏方法、系统、设备及存储介质 | |
CN107193734B (zh) | 用于移动Web应用的重放方法及重放系统 | |
CN111061627A (zh) | 网页埋点方法、装置、电子设备及存储介质 | |
CN116226572A (zh) | 一种页面操作采集、回放方法及相关组件 | |
CN115687058A (zh) | 一种Unity3d程序的动作录制及生成回放脚本的方法及系统 | |
CN117493113A (zh) | 数据上报方法、装置、计算机设备和存储介质 | |
Edgar | Speed Metrics Guide | |
Limbachia | Huffman Coding Based JavaScript Compression for AJAX Applications |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20201106 |
|
WW01 | Invention patent application withdrawn after publication |