spike-micro-web
Version:
微前端框架
29 lines (25 loc) • 591 B
JavaScript
let defaultValue = {};
// 代理沙箱
export class ProxySandBox {
constructor() {
this.active();
}
active() {
this.proxy = new Proxy(window, {
set(target, name, value) {
defaultValue[name] = value;
return true;
},
get(target, name) {
if( typeof target[name] === 'function' && /^[a-z]/.test(name)){
return target[name].bind && target[name].bind(target);
}else{
return defaultValue[name] || target[name];
}
}
})
}
inactive() {
defaultValue = {}
}
}