Closed zuopf769 closed 2 years ago
Qiankun原理——JS沙箱是怎么做隔离的
概要:
qiankun 一共有 3 种沙箱:
要和这些沙箱结合起来使用,qiankun 会把要执行的 JS 包裹在立即执行函数中,通过绑定上下文和传参的方式来改变 this 和 window 的值,让它们指向 window.proxy 沙箱对象,最后再用 eval 来执行这个函数。
推荐语:
大家都知道qiankun有 SnapshotSandbox, LegacySandbox 和 ProxySandbox 这些沙箱,而它们又可以分为单例和多例两种模式,网上也有很多文章对其进行介绍。但这些文章的关注点都是沙箱的环境恢复做的事,这篇文章讲了 JS 的隔离到底是怎么做到的。
Qiankun原理——JS沙箱是怎么做隔离的
概要:
qiankun 一共有 3 种沙箱:
要和这些沙箱结合起来使用,qiankun 会把要执行的 JS 包裹在立即执行函数中,通过绑定上下文和传参的方式来改变 this 和 window 的值,让它们指向 window.proxy 沙箱对象,最后再用 eval 来执行这个函数。
推荐语:
大家都知道qiankun有 SnapshotSandbox, LegacySandbox 和 ProxySandbox 这些沙箱,而它们又可以分为单例和多例两种模式,网上也有很多文章对其进行介绍。但这些文章的关注点都是沙箱的环境恢复做的事,这篇文章讲了 JS 的隔离到底是怎么做到的。