Skip to content

Commit c15913c

Browse files
committed
fix: 沙盒中globalThis指向沙盒global
1 parent 84ed9a1 commit c15913c

2 files changed

Lines changed: 25 additions & 14 deletions

File tree

src/pkg/sandbox/sandbox.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ export function buildThis(global: any, context: any) {
5252
case 'window':
5353
case 'global':
5454
case 'globalThis':
55-
return special[name] || proxy;
55+
return special['global'] || proxy;
5656
}
5757
if (name !== 'undefined' && name !== Symbol.unscopables) {
5858
if (context[name]) {
@@ -85,7 +85,7 @@ export function buildThis(global: any, context: any) {
8585
case 'window':
8686
case 'global':
8787
case 'globalThis':
88-
special[name] = val;
88+
special['global'] = val;
8989
return true;
9090
}
9191
if (special[name]) {

tests/sandbox.user.js

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,24 +18,24 @@ console.log(window.scrollX, window.scrollY);
1818
console.log(addEventListener);
1919

2020
let uia = (function () {
21-
console.log('123');
22-
return {
23-
tip: () => {
24-
console.log('aqwe');
25-
}
26-
}
21+
console.log('123');
22+
return {
23+
tip: () => {
24+
console.log('aqwe');
25+
}
26+
}
2727
})()
2828

2929
uia.tip();
3030

3131
function evalTest() {
32-
console.log('okk');
32+
console.log('okk');
3333
}
3434

3535
setTimeout(() => {
36-
console.log('okk2', window.scrollX, window.scrollY);
37-
window.scrollY = 633;
38-
console.log('okk2', window.scrollX, window.scrollY);
36+
console.log('okk2', window.scrollX, window.scrollY);
37+
window.scrollY = 633;
38+
console.log('okk2', window.scrollX, window.scrollY);
3939
}, 1000)
4040

4141
let f = eval('()=>{evalTest()}');
@@ -44,5 +44,16 @@ console.log(this);
4444
eval('console.log(this)');
4545

4646
window.onload = () => {
47-
console.log('onload');
48-
}
47+
console.log('onload1');
48+
}
49+
50+
window.onload = () => {
51+
console.log('onload2');
52+
}
53+
54+
globalThis.a = 1;
55+
56+
global.a = 2;
57+
58+
console.log(globalThis.a == 2, globalThis.a, global.a);
59+

0 commit comments

Comments
 (0)