javascript - 如何让js在完全独立的上下文中运行
天蓬老师
天蓬老师 2017-04-10 13:11:37
0
3
381

类似chrome的Content Scripts那样。我需要把一段用户脚本放到一个完全独立的上下文中,也就是隔离掉外面的所有变量比如window,document,top,location...,只允许使用给定的一些东西。
大概的样子是这样的,但是这个做法明显很扯蛋,忘记过滤哪个变量就完蛋了……应该说100%会漏掉……

function runScript(script){
  try{
    (function (script, window, document, top, location, console, ......){
      eval(script);
    }).call({somethings}, script)
  } catch {

  }
}
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

reply all(3)
Ty80

试试模块加载器。

洪涛

找到一个小玩意 https://github.com/tarruda/vm.js 看起比较靠谱地说,不过自己编译执行什么的……感觉效率会有点问题啊,有没有直接利用js特性的更好的做法?

左手右手慢动作

过滤掉浏览器的api?试试在node里运行呢?

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template