A: 刚刚又突然想到了 惊讶系列分享中的一张图(已经分享过, 重温下思想)
让我吃惊的是, 完全可以通过 fetch 指定 url 的内容 并设置到 innerHTML, 实现爬虫.. 在浏览器就可以跑, 什么库也不需要..
A: 不过建议使用 new Function, Function 比 eval 安全性要高, 并且执行时性能也高
A: 还有一点, new Function 仅需要处理传入的字符串一次,后面重复执行都是同一个函数,而eval需要每次都处理,性能更高
A: 哈哈, qiankun 那个源码使用 new Proxy 代理 假window, new Function 执行代码的
qiankun 沙箱的核心思想... 可能有误, 烦请指正..
B: 大体上是这样,有很多细节要小心处理 比如 fakewindow 上 freeze 的变量什么的