var st
=
String.prototype.indexOf;
String.prototype.indexOf
=
function (cc){
console.log(cc)
return
st.call(this,cc)
}
let mylocation
=
{
cestorOrigins: {length:
0
}
,
hash
: ""
,host:
"***.com"
,hostname:
"new-tab-page"
,href:
"chrome://new-tab-page/"
,origin:
"chrome://new-tab-page"
,pathname:
"/interdetailflightdetailinterlistflight_touch_react"
,port: ""
,protocol:
"chrome:"
,
reload
: function (){}
,replace:function(){}
,search: ""
}
let mynavigator
=
{
userAgent:
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36"
,appCodeName:
"Mozilla"
,language:
"en-US"
,platform:
"Win32"
,webdriver:false
}
let mywindow
=
{
XMLHttpRequest:function (){},
sessionStorage:{length:
0
},
localStorage:{length:
0
},
navigator:mynavigator
,scrollTo:function (){}
,location:mylocation
}
let myscreen
=
{
availHeight:
690
,availLeft:
0
,availTop:
0
,availWidth:
1280
,colorDepth:
24
,height:
720
,pixelDepth:
24
,width:
1280
}
var Image
=
function (){}
let mydocument
=
{createElement:function (img){
return
img},
getElementsByTagName:function (a){
return
{}}}
function getObjhandle(Watchname){
let handle
=
{
get(target, p, receiver) {
let res
=
Reflect.get(target, p, receiver);
if
(res instanceof
Object
) {
if
(typeof res
=
=
=
"function"
) {
console.log(`get [${Watchname}] [${p}] `)
}
else
{
console.log(`get [${Watchname}] [${p}] [${JSON.stringify(res)}]`);
}
return
new Proxy(res, getObjhandle(`${Watchname}.${p}`))
}
console.log(`get ${Watchname} ${p} ${res}`)
return
res
}
,
set
(target, p, value, receiver) {
let res
=
Reflect.
set
(target, p, value, receiver);
console.log(`
set
${Watchname} ${p} ${value}`)
return
res;
},
has(target, p) {
let res
=
Reflect.has(target,p)
console.log(`has ${Watchname} ${p}`)
return
res
},deleteProperty(target, p) {
let res
=
Reflect.deleteProperty(target,p)
console.log(`delete ${Watchname} ${p}`)
return
res
}, getOwnPropertyDescriptor(target, p) {
let res
=
Reflect.getOwnPropertyDescriptor(target,p)
console.log(`getOwnPropertyDescriptor ${Watchname} ${p} ${JSON.stringify(res)}`)
return
res
}, defineProperty(target, p, attributes) {
let res
=
Reflect.deleteProperty(target, p, attributes)
console.log(` defineProperty ${Watchname} ${p} ${attributes} ${res}`)
return
res;
}, defineProperty(target, p, attributes) {
let res
=
Reflect.deleteProperty(target, p, attributes)
console.log(` defineProperty ${Watchname} ${p} ${JSON.stringify(attributes)}`)
return
res;
},preventExtensions(target) {
console.log(`preventExtensions ${Watchname} `)
return
Reflect.preventExtensions(target)
},isExtensible(target) {
let res
=
Reflect.isExtensible(target)
console.log(`isExtensible ${Watchname} ${res}`)
return
res;
},getPrototypeOf(target) {
let res
=
Reflect.getPrototypeOf(target)
console.log(`getPrototypeOf ${Watchname} ${JSON.stringify(res)}`)
return
res;
},ownKeys(target) {
var result
=
Reflect.ownKeys(target)
console.log(`ownKeys [${Watchname}] [${JSON.stringify(result)}]`)
return
result
}
,setPrototypeOf(target, v) {
let res
=
Reflect.setPrototypeOf(target,v)
console.log(`setPrototypeOf ${Watchname} ${JSON.stringify(v)}`)
return
res;
},
apply
(target, thisArg, argArray) {
let result
=
Reflect.
apply
(target, thisArg, argArray)
console.log(`[${Watchname}]
apply
function name
is
[${target.name
-
}], argArray
is
[${argArray}], result
is
[${result}].`)
return
result
},
construct(target, argArray, newTarget) {
var result
=
Reflect.construct(target, argArray, newTarget)
console.log(`[${Watchname}] construct function name
is
[${target.name
-
}], argArray
is
[${argArray}], result
is
[${JSON.stringify(result)}].`)
return
result;
}
}
return
handle;
}
const window
=
new Proxy(
Object
.assign(
global
,mywindow),getObjhandle(
"window"
))
const screen
=
new Proxy(
Object
.create(myscreen),getObjhandle(
"screen"
))
const navigator
=
new Proxy(
Object
.create(mynavigator),getObjhandle(
"navigator"
))
const location
=
new Proxy(
Object
.create(mylocation),getObjhandle(
"location"
))
const document
=
new Proxy(
Object
.create(mydocument),getObjhandle(
"document"
))
module.exports
=
{
window,screen,navigator,location,Image,document
}