执行这个任意js代码的唯一要求是不公开某些全局变量/函数(例如setInterval)。
我目前的策略包括解析js代码并为每个全局引用创建一个var声明(在封闭闭包的开头)。
我想知道是否有其他明显的方法来解决这个问题。
同样为了澄清,这个任意的代码并不是运行在像eval这样的东西上。相反,它被包装在一个闭包中,并附加到基代码中。
发布于 2012-12-19 09:31:48
其中一个选项是通过提供您自己的函数或变量来覆盖全局变量。示例:
函数window.alert =
(){
//您的代码位于此处
//如果需要,可以调用window.alert
}
如果你有一个很小的有限列表,你想隐藏的东西应该是可以管理的。这将使它们在全局范围内不可用。
https://stackoverflow.com/questions/13930724
复制相似问题