开发者社区 问答 正文

如何低成本实现部署在现有页面的、将 Web 页面还原回初始状态、并且允许保留部分对象的沙箱机制?

如何低成本实现部署在现有页面的、将 Web 页面还原回初始状态、并且允许保留部分对象的沙箱机制?

展开
收起
Aries- 2022-05-10 15:17:19 363 分享 版权
来自: 阿里技术
1 条回答
写回答
取消 提交回答
  • 在页面的 中插入一小段内联 JS 记录: ·window 上的全局变量 ·window/document 的 eventListener ·定时器:setInterval/setTimeout/requestAnimationFrame/requestIdleCallback ·MutationObserver 在需要时,只需清空页面的 DOM,还原变化的全局变量(浅拷贝),eventListener,定时器和 MutationObserver,就能把页面还原到初始状态。 同时,记录的状态也可以封存到一个对象中,当用户从下个页面 back 到上个页面时,可以直接把状态还原到页面上。 清空页面状态时,选择性的保留一些需要保留的对象:例如公共的 Framework,JSONP 请求的标签等。

    2022-05-10 18:18:11
    赞同 展开评论