mirror of
https://github.com/xuxiaobo-bobo/boda_jsEnv.git
synced 2025-04-22 06:37:32 +08:00
'03302'
This commit is contained in:
parent
cb63881fd5
commit
b0347f7b35
@ -26,7 +26,7 @@ bodavm.config.proxy = false; //是否代理
|
||||
|
||||
|
||||
//网站为r4或者r5 设置为true 否则请关闭
|
||||
bodavm.config.isrs = true //判断当前网站是不是瑞数
|
||||
bodavm.config.isrs = false //判断当前网站是不是瑞数
|
||||
//网站为r6 设置为true body设置为0 否则请把true改为false
|
||||
bodavm.memory.rs6=false
|
||||
bodavm.memory.rs6_body=0
|
||||
@ -112,33 +112,31 @@ bodavm.memory.IDBOpenDBRequest = {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
bodavm.memory.location={
|
||||
origin:"http://sthjt.hubei.gov.cn",
|
||||
origin:"https://www.douyin.com",
|
||||
hash:"",
|
||||
pathname:"/site/sthjt/search.html",
|
||||
search:"?searchWord=%E7%A2%B3%E6%8E%92%E6%94%BE&siteId=41&pageSize=10",
|
||||
href:"http://sthjt.hubei.gov.cn/site/sthjt/search.html?searchWord=%E7%A2%B3%E6%8E%92%E6%94%BE&siteId=41&pageSize=10",
|
||||
pathname:"/",
|
||||
search:"",
|
||||
href:"https://www.douyin.com/",
|
||||
port:"",
|
||||
protocol:"http:",
|
||||
host:"sthjt.hubei.gov.cn",
|
||||
protocol:"https:",
|
||||
host:"www.douyin.com",
|
||||
ancestorOrigins:"{}",
|
||||
hostname:"sthjt.hubei.gov.cn"
|
||||
hostname:"www.douyin.com"
|
||||
};
|
||||
|
||||
bodavm.memory.document={
|
||||
URL:"http://sthjt.hubei.gov.cn/site/sthjt/search.html?searchWord=%E7%A2%B3%E6%8E%92%E6%94%BE&siteId=41&pageSize=10",
|
||||
referrer:"http://sthjt.hubei.gov.cn/site/sthjt/search.html?searchWord=%E7%A2%B3%E6%8E%92%E6%94%BE&siteId=41&pageSize=10",
|
||||
documentURI:"http://sthjt.hubei.gov.cn/site/sthjt/search.html?searchWord=%E7%A2%B3%E6%8E%92%E6%94%BE&siteId=41&pageSize=10",
|
||||
URL:"https://www.douyin.com/",
|
||||
referrer:"https://www.douyin.com/",
|
||||
documentURI:"https://www.douyin.com/",
|
||||
compatMode:"CSS1Compat",
|
||||
dir:"",
|
||||
title:"湖北省生态环境厅",
|
||||
title:"抖音-记录美好生活",
|
||||
designMode:"off",
|
||||
readyState:"complete",
|
||||
contentType:"text/html",
|
||||
inputEncoding:"UTF-8",
|
||||
domain:"sthjt.hubei.gov.cn",
|
||||
domain:"www.douyin.com",
|
||||
characterSet:"UTF-8",
|
||||
charset:"UTF-8",
|
||||
hidden:"false",
|
||||
@ -165,49 +163,57 @@ bodavm.memory.screen={
|
||||
colorDepth:24,
|
||||
availLeft:0,
|
||||
availTop:0,
|
||||
isExtended:undefined,
|
||||
isExtended:false,
|
||||
orientation:{},
|
||||
onchange:undefined,
|
||||
onchange:null,
|
||||
};
|
||||
|
||||
bodavm.memory.navigator={
|
||||
language:"zh-CN",
|
||||
userAgent:"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36",
|
||||
appVersion:"5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36",
|
||||
userAgent:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.57",
|
||||
appVersion:"5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.57",
|
||||
vendor:"Google Inc.",
|
||||
appName:"Netscape",
|
||||
appCodeName:"Mozilla",
|
||||
cookieEnabled:true,
|
||||
languages:["zh-CN","zh"],
|
||||
languages:["zh-CN","en","en-GB","en-US"],
|
||||
productSub:"20030107",
|
||||
userAgentData:undefined,
|
||||
xr:undefined,
|
||||
userAgentData:{"brands":[{"brand":"Chromium","version":"110"},{"brand":"Not A(Brand","version":"24"},{"brand":"Microsoft Edge","version":"110"}],"mobile":false,"platform":"Windows"},
|
||||
xr:{},
|
||||
platform:'Win32',
|
||||
webkitPersistentStorage:{},
|
||||
connection:{},
|
||||
javaEnabled:false,
|
||||
product:'Gecko',
|
||||
vendorSub:"",
|
||||
deviceMemory:undefined,
|
||||
deviceMemory:8,
|
||||
maxTouchPoints:0
|
||||
};
|
||||
bodavm.memory.window={
|
||||
name:"",
|
||||
innerWidth:1440,
|
||||
innerHeight:817,
|
||||
origin:"http://sthjt.hubei.gov.cn",
|
||||
origin:"https://www.douyin.com",
|
||||
outerWidth:1440,
|
||||
outerHeight:920,
|
||||
defaultStatus:"",
|
||||
defaultstatus:"",
|
||||
defaultStatus:undefined,
|
||||
defaultstatus:undefined,
|
||||
devicePixelRatio:1.5,
|
||||
isSecureContext:false,
|
||||
length:1,
|
||||
isSecureContext:true,
|
||||
length:0,
|
||||
status:"",
|
||||
onmessage:null,
|
||||
onbeforeunload:function _$fx(_$jL){_$eA?(_$jN(new _$d0(_$hn[58],{},_$hf(_$jL[_$_8[73]]))),_$eu()):0;},
|
||||
onbeforeunload:null,
|
||||
closed:false,
|
||||
isSecureContext:true
|
||||
isSecureContext:true,
|
||||
onappinstalled:null,
|
||||
onbeforeinstallprompt:null,
|
||||
onbeforexrselect:null,
|
||||
onabort:null,
|
||||
onblur:null,
|
||||
oncancel:null,
|
||||
oncanplay:null,
|
||||
oncanplaythrough:null
|
||||
|
||||
};
|
||||
bodavm.memory.localStorage={}
|
||||
|
@ -72,6 +72,7 @@ function getCode() {
|
||||
code += getFile("TrustedTypePolicyFactory")
|
||||
code += getFile('Scheduler')
|
||||
code += getFile("CookieStore")
|
||||
code +=getFile('RTCSessionDescription')
|
||||
code+= getFile('RTCDataChannel')
|
||||
code += getFile("CacheStorage")
|
||||
code +=getFile('Promise')
|
||||
|
112
env_xbb_lastest_jsdom/decode.js
Normal file
112
env_xbb_lastest_jsdom/decode.js
Normal file
@ -0,0 +1,112 @@
|
||||
//
|
||||
/*
|
||||
|
||||
别删除!!!!!!!!!!!!!!!!!!!!!!!!!!!1
|
||||
别删除!!!!!!!!!!!!!!!!!!!!!!!!!!!1
|
||||
别删除!!!!!!!!!!!!!!!!!!!!!!!!!!!1
|
||||
别删除!!!!!!!!!!!!!!!!!!!!!!!!!!!1
|
||||
别删除!!!!!!!!!!!!!!!!!!!!!!!!!!!1
|
||||
别删除!!!!!!!!!!!!!!!!!!!!!!!!!!!1
|
||||
别删除!!!!!!!!!!!!!!!!!!!!!!!!!!!1
|
||||
别删除!!!!!!!!!!!!!!!!!!!!!!!!!!!1
|
||||
|
||||
*/
|
||||
//babel库及文件模块导入
|
||||
const fs = require('fs');
|
||||
|
||||
//babel库相关,解析,转换,构建,生产
|
||||
const parser = require("@babel/parser");
|
||||
const traverse = require("@babel/traverse").default;
|
||||
const types = require("@babel/types");
|
||||
const generator = require("@babel/generator").default;
|
||||
//读取文件
|
||||
let encode_file = "./jscode.js", decode_file = "./result.js"; //自己可以调整路径
|
||||
const path = require('path');
|
||||
|
||||
|
||||
function readDirAndModifyFiles(dirPath, callback) {
|
||||
fs.readdir(dirPath, (err, files) => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return;
|
||||
}
|
||||
files.forEach(file => {
|
||||
const filePath = path.join(dirPath, file);
|
||||
fs.stat(filePath, (err, stats) => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return;
|
||||
}
|
||||
debugger
|
||||
if (stats.isDirectory()) {
|
||||
readDirAndModifyFiles(filePath, callback);
|
||||
} else {
|
||||
fs.readFile(filePath, 'utf8', (err, data) => {
|
||||
// console.log(data)
|
||||
let ast = parser.parse(data);
|
||||
traverse(ast, {
|
||||
ObjectExpression(path) {
|
||||
path.node.properties.forEach(prop => {
|
||||
if (prop.key.name === 'value' && types.isFunctionExpression(prop.value)) {
|
||||
prop.value = types.callExpression(prop.value, []);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
// traverse(ast, test, opt = {});
|
||||
// console.log('message部分完成!!!')
|
||||
data= generator(ast).code
|
||||
|
||||
if (err) {
|
||||
console.error(err);
|
||||
} else {
|
||||
const modifiedData = callback(data);
|
||||
fs.writeFile(filePath, modifiedData, (err) => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
} else {
|
||||
console.log(`File ${filePath} is saved.`);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
const dirPath = 'D:\\My_Dir\\env_xbb_lastest_jsdom\\env';
|
||||
|
||||
// 修改文件内容的回调函数
|
||||
function modifyFileContent(data) {
|
||||
// 在文件内容前面添加一行文字
|
||||
return data;
|
||||
}
|
||||
|
||||
readDirAndModifyFiles(dirPath, modifyFileContent);
|
||||
|
||||
|
||||
//
|
||||
// let jscode = fs.readFileSync(encode_file, {encoding: "utf-8"});
|
||||
// //转换为ast树
|
||||
// let ast = parser.parse(jscode);
|
||||
// traverse(ast, {
|
||||
// ObjectExpression(path) {
|
||||
// path.node.properties.forEach(prop => {
|
||||
// if (prop.key.name === 'value' && types.isFunctionExpression(prop.value)) {
|
||||
// prop.value = types.callExpression(prop.value, []);
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
// });
|
||||
// // traverse(ast, test, opt = {});
|
||||
// console.log('message部分完成!!!')
|
||||
// let {code} = generator(ast)
|
||||
//
|
||||
//
|
||||
//
|
||||
// console.log(code)
|
||||
// //
|
||||
// fs.writeFile(decode_file, code, (err) => {
|
||||
// });
|
0
env_xbb_lastest_jsdom/run/exportEnv.py
Normal file
0
env_xbb_lastest_jsdom/run/exportEnv.py
Normal file
@ -1,9 +1,24 @@
|
||||
|
||||
function get_cookie(){
|
||||
|
||||
debugger
|
||||
// let boxhr=new XMLHttpRequest()
|
||||
// boxhr.open('get' , "searchParamModel=%7B%22ObjectType%22%3A1%2C%22SearchKeyList%22%3A%5B%5D%2C%22SearchExpression%22%3Anull%2C%22BeginYear%22%3Anull%2C%22EndYear%22%3Anull%2C%22UpdateTimeType%22%3Anull%2C%22JournalRange%22%3Anull%2C%22DomainRange%22%3Anull%2C%22ClusterFilter%22%3A%22%22%2C%22ClusterLimit%22%3A0%2C%22ClusterUseType%22%3A%22Article%22%2C%22UrlParam%22%3A%22%22%2C%22Sort%22%3A%220%22%2C%22SortField%22%3Anull%2C%22UserID%22%3A%220%22%2C%22PageNum%22%3A2%2C%22PageSize%22%3A20%2C%22SType%22%3Anull%2C%22StrIds%22%3Anull%2C%22IsRefOrBy%22%3A0%2C%22ShowRules%22%3A%22%22%2C%22IsNoteHistory%22%3A0%2C%22AdvShowTitle%22%3Anull%2C%22ObjectId%22%3Anull%2C%22ObjectSearchType%22%3A0%2C%22ChineseEnglishExtend%22%3A0%2C%22SynonymExtend%22%3A0%2C%22ShowTotalCount%22%3A73734952%2C%22AdvTabGuid%22%3A%22%22%7D" || null)
|
||||
// let aaa=boxhr.send(true && "searchParamModel=%7B%22ObjectType%22%3A1%2C%22SearchKeyList%22%3A%5B%5D%2C%22SearchExpression%22%3Anull%2C%22BeginYear%22%3Anull%2C%22EndYear%22%3Anull%2C%22UpdateTimeType%22%3Anull%2C%22JournalRange%22%3Anull%2C%22DomainRange%22%3Anull%2C%22ClusterFilter%22%3A%22%22%2C%22ClusterLimit%22%3A0%2C%22ClusterUseType%22%3A%22Article%22%2C%22UrlParam%22%3A%22%22%2C%22Sort%22%3A%220%22%2C%22SortField%22%3Anull%2C%22UserID%22%3A%220%22%2C%22PageNum%22%3A2%2C%22PageSize%22%3A20%2C%22SType%22%3Anull%2C%22StrIds%22%3Anull%2C%22IsRefOrBy%22%3A0%2C%22ShowRules%22%3A%22%22%2C%22IsNoteHistory%22%3A0%2C%22AdvShowTitle%22%3Anull%2C%22ObjectId%22%3Anull%2C%22ObjectSearchType%22%3A0%2C%22ChineseEnglishExtend%22%3A0%2C%22SynonymExtend%22%3A0%2C%22ShowTotalCount%22%3A73734952%2C%22AdvTabGuid%22%3A%22%22%7D")
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open('POST', 'somewhere', true);
|
||||
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
|
||||
xhr.onload = function () {
|
||||
// do something to response
|
||||
console.log(this.responseText);
|
||||
};
|
||||
xhr.send('user=person&pwd=password&organization=place&requiredkey=key');
|
||||
|
||||
|
||||
|
||||
let res={
|
||||
// b:new XMLHttpRequest().open(''),
|
||||
cookie:document.cookie
|
||||
cookie:document.cookie,
|
||||
// result:aaa
|
||||
}
|
||||
|
||||
return res
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
14438
env_xbb_lastest_jsdom/run/阿里140.js
Normal file
14438
env_xbb_lastest_jsdom/run/阿里140.js
Normal file
File diff suppressed because one or more lines are too long
@ -46,7 +46,7 @@ noexecListener={
|
||||
if (bodavm.memory.asyncEvent.listener) {
|
||||
for (const key in bodavm.memory.asyncEvent.listener) {
|
||||
let event = bodavm.memory.asyncEvent.listener[key]
|
||||
debugger
|
||||
// debugger
|
||||
for (let i = 0; i < event.length; i++) {
|
||||
// debugger
|
||||
if (noexecListener[event[i].type]){
|
||||
@ -69,26 +69,28 @@ if (bodavm.memory.asyncEvent.listener) {
|
||||
}
|
||||
}
|
||||
|
||||
// let setTimeEvent = bodavm.memory.asyncEvent.setTimeout
|
||||
// console.log(`当前setTimeEvent有===>${JSON.stringify(setTimeEvent)}`)
|
||||
// if (setTimeEvent) {
|
||||
// setTimeEvent.sort((a, b) => {
|
||||
// return a.timeoutID > b.timeoutID ? 1 : -1;
|
||||
// })
|
||||
// setTimeEvent.sort((a, b) => {
|
||||
// return a.delay > b.delay ? 1 : -1;
|
||||
// })
|
||||
// for (let i = 0; i < setTimeEvent.length; i++) {
|
||||
// let event = setTimeEvent[i]
|
||||
// if (event == undefined) { continue }
|
||||
// console.log(`异步回调执行settime=======================================>${JSON.stringify(event)} callback:${event.callback}`);
|
||||
// if (event.type) {
|
||||
// event.callback()
|
||||
// } else {
|
||||
// eval(event.callback)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
let setTimeEvent = bodavm.memory.asyncEvent.setTimeout
|
||||
|
||||
console.log(`当前setTimeEvent有===>${JSON.stringify(setTimeEvent)}`)
|
||||
if (setTimeEvent) {
|
||||
setTimeEvent.sort((a, b) => {
|
||||
return a.timeoutID > b.timeoutID ? 1 : -1;
|
||||
})
|
||||
|
||||
setTimeEvent.sort((a, b) => {
|
||||
return a.delay > b.delay ? 1 : -1;
|
||||
})
|
||||
for (let i = 0; i < setTimeEvent.length; i++) {
|
||||
let event = setTimeEvent[i]
|
||||
if (event == undefined) { continue }
|
||||
console.log(`异步回调执行settime=======================================>${JSON.stringify(event)} callback:${event.callback+''.length>50?event.callback+''.substring(0,50):event.callback+''}`);
|
||||
if (event.type) {
|
||||
event.callback()
|
||||
} else {
|
||||
eval(event.callback)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 鼠标事件最后执行,模仿网站加载完成后再移动鼠标触发事件
|
||||
// //鼠标轨迹,获取实际网站的
|
||||
|
@ -1,7 +1,11 @@
|
||||
// 浏览器接口具体的实现
|
||||
!function () {
|
||||
|
||||
|
||||
bodavm.envFunc.Performance_now=function (){
|
||||
let now=window.performance._boarg.now()
|
||||
console.log(`Performance_now `,`res ->${now}`);
|
||||
return now
|
||||
}
|
||||
|
||||
bodavm.envFunc.window_scheduler_get=function (){let arg=bodavm.memory.globalobj['scheduler']?bodavm.memory.globalobj['scheduler']:null;console.log(`window_scheduler_get`,`res ->${arg}`);return arg}
|
||||
bodavm.envFunc.window_crossOriginIsolated_get=function (){let arg=bodavm.memory.globalobj['crossOriginIsolated']?bodavm.memory.globalobj['crossOriginIsolated']:null;console.log(`window_crossOriginIsolated_get`,`res ->${arg}`);return arg}
|
||||
@ -918,92 +922,126 @@
|
||||
}
|
||||
bodavm.envFunc.window_oncanplaythrough_get = function () {
|
||||
let arg = bodavm.memory.window['oncanplaythrough']
|
||||
arg._boarg= bodaobj.window['oncanplaythrough']
|
||||
|
||||
console.log(`window_oncanplaythrough_get `, `res ->${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_oncanplay_get = function () {
|
||||
let arg = bodavm.memory.window['oncanplay']
|
||||
arg._boarg= bodaobj.window['oncanplay']
|
||||
|
||||
console.log(`window_oncanplay_get `, `res ->${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_oncancel_get = function () {
|
||||
let arg = bodavm.memory.window['oncancel']
|
||||
arg._boarg= bodaobj.window['oncancel']
|
||||
console.log(`window_oncancel_get `, `res ->${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_onblur_get = function () {
|
||||
let arg = bodavm.memory.window['onblur']
|
||||
arg._boarg= bodaobj.window['onblur']
|
||||
|
||||
console.log(`window_onblur_get `, `res ->${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_onappinstalled_get = function () {
|
||||
let arg = bodavm.memory.window['onappinstalled']
|
||||
arg._boarg= bodaobj.window['onappinstalled']
|
||||
|
||||
console.log(`window_onappinstalled_get `, `res ->${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_onbeforeinstallprompt_get = function () {
|
||||
let arg = bodavm.memory.window['onbeforeinstallprompt']
|
||||
arg._boarg= bodaobj.window['onbeforeinstallprompt']
|
||||
|
||||
console.log(`window_onbeforeinstallprompt_get `, `res ->${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_onbeforexrselect_get = function () {
|
||||
let arg = bodavm.memory.window['onbeforexrselect']
|
||||
arg._boarg= bodaobj.window['onbeforexrselect']
|
||||
|
||||
console.log(`window_onbeforexrselect_get `, `res ->${arg}`);
|
||||
return arg
|
||||
}
|
||||
|
||||
bodavm.envFunc.window_onabort_get = function () {
|
||||
let arg = bodavm.memory.window['onabort']
|
||||
arg._boarg= bodaobj.window['onabort']
|
||||
console.log(`window_onabort_get `, `res ->${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_isSecureContext_get = function () {
|
||||
let arg = bodavm.memory.window['isSecureContext']
|
||||
arg._boarg= bodaobj.window['isSecureContext']
|
||||
|
||||
console.log(`window_isSecureContext_get `, `res ->${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_onsearch_get = function () {
|
||||
let arg = bodavm.memory.globalobj['onsearch'] ? bodavm.memory.globalobj['onsearch'] : null
|
||||
arg._boarg= bodaobj.window['onsearch']
|
||||
|
||||
console.log(`window_onsearch_get `, `res ->${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_styleMedia_get = function () {
|
||||
let arg = bodavm.memory.globalobj['styleMedia'] ? bodavm.memory.globalobj['styleMedia'] : null
|
||||
arg._boarg= bodaobj.window['styleMedia']
|
||||
|
||||
console.log(`window_styleMedia_get `, `res ->${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_frameElement_get = function () {
|
||||
let arg = bodavm.memory.globalobj['frameElement'] ? bodavm.memory.globalobj['frameElement'] : null
|
||||
arg._boarg= bodaobj.window['frameElement']
|
||||
|
||||
console.log(`window_frameElement_get `, `res ->${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_opener_get = function () {
|
||||
let arg = bodavm.memory.globalobj['opener'] ? bodavm.memory.globalobj['opener'] : null
|
||||
arg._boarg= bodaobj.window['opener']
|
||||
|
||||
console.log(`window_opener_get `, `res ->${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_statusbar_get = function () {
|
||||
let arg = bodavm.memory.globalobj['statusbar']
|
||||
arg._boarg= bodaobj.window['statusbar']
|
||||
|
||||
console.log(`window_statusbar_get `, `res ->${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_scrollbars_get = function () {
|
||||
let arg = bodavm.memory.globalobj['scrollbars']
|
||||
arg._boarg= bodaobj.window['scrollbars']
|
||||
|
||||
console.log(`window_scrollbars_get `, `res ->${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_locationbar_get = function () {
|
||||
let arg = bodavm.memory.globalobj['locationbar']
|
||||
arg._boarg= bodaobj.window['locationbar']
|
||||
|
||||
console.log(`window_locationbar_get `, `res ->${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_personalbar_get = function () {
|
||||
let arg = bodavm.memory.globalobj['personalbar']
|
||||
arg._boarg= bodaobj.window['personalbar']
|
||||
|
||||
console.log(`window_personalbar_get `, `res ->${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_speechSynthesis_get = function () {
|
||||
let arg = bodavm.memory.globalobj['speechSynthesis']
|
||||
arg._boarg= bodaobj.window['speechSynthesis']
|
||||
|
||||
console.log(`window_speechSynthesis_get `, `res ->${arg}`);
|
||||
return arg
|
||||
}
|
||||
@ -1011,94 +1049,115 @@
|
||||
|
||||
bodavm.envFunc.window_trustedTypes_get = function () {
|
||||
let arg = bodavm.memory.globalobj['trustedTypes']
|
||||
arg._boarg= bodaobj.window['trustedTypes']
|
||||
|
||||
console.log(`window_trustedTypes_get `, `res -> ${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_cookieStore_get = function () {
|
||||
let arg = bodavm.memory.globalobj['cookieStore']
|
||||
arg._boarg= bodaobj.window['cookieStore']
|
||||
|
||||
console.log(`window_cookieStore_get `, `res -> ${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_external_get = function () {
|
||||
let arg = bodavm.memory.globalobj['external']
|
||||
arg._boarg= bodaobj.window['external']
|
||||
|
||||
console.log(`window_external_get `, `res -> ${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_caches_get = function () {
|
||||
let arg = bodavm.memory.globalobj['caches']
|
||||
arg._boarg= bodaobj.window['caches']
|
||||
|
||||
console.log(`window_caches_get `, `res -> ${arg}`);
|
||||
return arg
|
||||
}
|
||||
|
||||
bodavm.envFunc.window_visualViewport_get = function () {
|
||||
let arg = bodavm.memory.globalobj['visualViewport']
|
||||
arg._boarg= bodaobj.window['visualViewport']
|
||||
|
||||
console.log(`window_visualViewport_get `, `res -> ${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_menubar_get = function () {
|
||||
let arg = bodavm.memory.globalobj['menubar']
|
||||
arg._boarg= bodaobj.window['menubar']
|
||||
|
||||
console.log(`window_menubar_get `, `res -> ${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_toolbar_get = function () {
|
||||
let arg = bodavm.memory.globalobj['toolbar']
|
||||
arg._boarg= bodaobj.window['toolbar']
|
||||
|
||||
console.log(`window_toolbar_get `, `res -> ${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_CookieStore = function () {
|
||||
let arg = bodavm.memory.globalobj['CookieStore']
|
||||
arg._boarg= bodaobj.window['CookieStore']
|
||||
|
||||
console.log(`window_CookieStore `, `res -> ${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_Storage = function () {
|
||||
let arg = bodavm.memory.globalobj['Storage']
|
||||
arg._boarg= bodaobj.window['Storage']
|
||||
|
||||
console.log(`window_Storage `, `res -> ${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_Navigation = function () {
|
||||
let arg = bodavm.memory.globalobj['Navigation']
|
||||
arg._boarg= bodaobj.window['Navigation']
|
||||
|
||||
console.log(`window_Navigation `, `res -> ${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_VisualViewport = function () {
|
||||
let arg = bodavm.memory.globalobj['VisualViewport']
|
||||
arg._boarg= bodaobj.window['VisualViewport']
|
||||
|
||||
console.log(`window_VisualViewport `, `res -> ${arg}`);
|
||||
return arg
|
||||
}
|
||||
|
||||
bodavm.envFunc.window_History = function () {
|
||||
let arg = bodavm.memory.globalobj['History']
|
||||
arg._boarg= bodaobj.window['History']
|
||||
|
||||
console.log(`window_History `, `res -> ${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_IDBFactory = function () {
|
||||
let arg = bodavm.memory.globalobj['IDBFactory']
|
||||
arg._boarg= bodaobj.window['IDBFactory']
|
||||
|
||||
console.log(`window_IDBFactory `, `res -> ${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_TrustedTypePolicyFactory = function () {
|
||||
let arg = bodavm.memory.globalobj['TrustedTypePolicyFactory']
|
||||
arg._boarg= bodaobj.window['TrustedTypePolicyFactory']
|
||||
|
||||
console.log(`window_TrustedTypePolicyFactory `, `res -> ${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_External = function () {
|
||||
let arg = bodavm.memory.globalobj['External']
|
||||
arg._boarg= bodaobj.window['External']
|
||||
|
||||
console.log(`window_External `, `res -> ${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_CacheStorage = function () {
|
||||
let arg = bodavm.memory.globalobj['CacheStorage']
|
||||
arg._boarg= bodaobj.window['CacheStorage']
|
||||
|
||||
console.log(`window_CacheStorage `, `res -> ${arg}`);
|
||||
return arg
|
||||
}
|
||||
@ -1106,30 +1165,35 @@
|
||||
|
||||
bodavm.envFunc.window_CustomElementRegistry = function () {
|
||||
let arg = bodavm.memory.globalobj['CustomElementRegistry']
|
||||
arg._boarg= bodaobj.window['CustomElementRegistry']
|
||||
|
||||
console.log(`window_CustomElementRegistry `, `res -> ${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_Window = function () {
|
||||
let arg = bodavm.memory.globalobj['Window']
|
||||
arg._boarg= bodaobj.window['Window']
|
||||
|
||||
console.log(`window_Window `, `res -> ${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_Screen = function () {
|
||||
let arg = bodavm.memory.globalobj['Screen']
|
||||
arg._boarg= bodaobj.window['Screen']
|
||||
|
||||
console.log(`window_Screen `, `res -> ${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_Navigator = function () {
|
||||
let arg = bodavm.memory.globalobj['Navigator']
|
||||
arg._boarg= bodaobj.window['Navigator']
|
||||
|
||||
console.log(`window_Navigator `, `res -> ${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_Performance = function () {
|
||||
let arg = bodavm.memory.globalobj['Performance']
|
||||
arg._boarg= bodaobj.window['Performance']
|
||||
|
||||
console.log(`window_Performance `, `res -> ${arg}`);
|
||||
return arg
|
||||
@ -1137,46 +1201,58 @@
|
||||
|
||||
bodavm.envFunc.window_BarProp = function () {
|
||||
let arg = bodavm.memory.globalobj['BarProp']
|
||||
arg._boarg= bodaobj.window['BarProp']
|
||||
|
||||
console.log(`window_BarProp `, `res -> ${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_Location = function () {
|
||||
let arg = bodavm.memory.globalobj['Location']
|
||||
arg._boarg= bodaobj.window['Location']
|
||||
|
||||
console.log(`window_Location `, `res -> ${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_Document = function () {
|
||||
let arg = bodavm.memory.globalobj['Document']
|
||||
arg._boarg= bodaobj.window['Document']
|
||||
|
||||
console.log(`window_Document `, `res -> ${arg}`);
|
||||
return arg
|
||||
}
|
||||
bodavm.envFunc.window_webkitStorageInfo_get = function () {
|
||||
let webkitStorageInfo_ = bodavm.memory.globalobj['webkitStorageInfo']
|
||||
webkitStorageInfo_._boarg= bodaobj.window['webkitStorageInfo']
|
||||
|
||||
console.log(`window_webkitStorageInfo_get `, `webkitStorageInfo->`, webkitStorageInfo_);
|
||||
return webkitStorageInfo_
|
||||
}
|
||||
bodavm.envFunc.window_navigation_get = function () {
|
||||
let navigation_ = bodavm.memory.globalobj['navigation']
|
||||
navigation_._boarg= bodaobj.window['navigation']
|
||||
|
||||
console.log(`window_navigation_get `, `navigation->`, navigation_);
|
||||
return navigation_
|
||||
}
|
||||
bodavm.envFunc.window_performance_get = function () {
|
||||
let perf = bodavm.memory.globalobj['performance']
|
||||
perf._boarg= bodaobj.window['performance']
|
||||
|
||||
console.log(`window_performance_get `, `performance->`, perf);
|
||||
debugger
|
||||
// debugger
|
||||
return perf
|
||||
}
|
||||
bodavm.envFunc.window_navigator_get = function () {
|
||||
let navigator_ = bodavm.memory.globalobj.navigator
|
||||
console.log(`window_navigator_get `, `navigator->`, navigator_);
|
||||
navigator_._boarg= bodaobj.window['navigator']
|
||||
|
||||
return navigator_
|
||||
}
|
||||
bodavm.envFunc.window_customElements_get = function () {
|
||||
let customElements_ = bodavm.memory.globalobj.customElements
|
||||
customElements_._boarg= bodaobj.window['customElements']
|
||||
|
||||
console.log(`window_customElements_get `, `customElements->`, customElements_);
|
||||
|
||||
return customElements_
|
||||
@ -1184,6 +1260,7 @@
|
||||
bodavm.envFunc.window_screen_get = function () {
|
||||
let screen_ = bodavm.memory.globalobj.screen
|
||||
console.log(`window_screen_get `, `screen->`, screen_);
|
||||
screen_._boarg= bodaobj.window['screen']
|
||||
|
||||
return screen_
|
||||
}
|
||||
@ -1192,47 +1269,59 @@
|
||||
bodavm.envFunc.window_history_get = function () {
|
||||
let history_ = bodavm.memory.globalobj.history
|
||||
console.log(`window_history_get `, `history->`, history_);
|
||||
history_._boarg= bodaobj.window['history']
|
||||
|
||||
return history_
|
||||
}
|
||||
bodavm.envFunc.window_localStorage_get = function window_localStorage_get() {
|
||||
let localStorage_ = bodavm.memory.globalobj.localStorage
|
||||
console.log(`window_localStorage_get `, `localStorage->`, localStorage_);
|
||||
localStorage_._boarg= bodaobj.window['localStorage']
|
||||
|
||||
return localStorage_
|
||||
}
|
||||
bodavm.envFunc.window_indexedDB_get = function window_indexedDB_get() {
|
||||
let indexedDB_ = bodavm.memory.globalobj.indexedDB
|
||||
console.log(`window_indexedDB_get `, `indexedDB->`, indexedDB_);
|
||||
indexedDB_._boarg= bodaobj.window['indexedDB']
|
||||
|
||||
return indexedDB_
|
||||
}
|
||||
bodavm.envFunc.window_sessionStorage_get = function window_sessionStorage_get() {
|
||||
let sessionStorage_ = bodavm.memory.globalobj.sessionStorage
|
||||
console.log(`window_sessionStorage_get `, `sessionStorage->`, sessionStorage_);
|
||||
sessionStorage_._boarg= bodaobj.window['sessionStorage']
|
||||
|
||||
return sessionStorage_
|
||||
}
|
||||
bodavm.envFunc.window_crypto_get = function window_crypto_get() {
|
||||
let crypto_ = bodavm.memory.globalobj.crypto
|
||||
// crypto_._boarg= globalobj.window['crypto']
|
||||
|
||||
console.log(`window_crypto_get `, `crypto->`, crypto_);
|
||||
return crypto_
|
||||
}
|
||||
bodavm.envFunc.window_document_get = function window_document_get() {
|
||||
// debugger
|
||||
let document_ = bodavm.memory.globalobj.document
|
||||
document_._boarg= bodaobj.window['document']
|
||||
|
||||
console.log(`window_document_get `, `document->`, document_);
|
||||
return document_
|
||||
}
|
||||
bodavm.envFunc.window_location_get = function window_location_get() {
|
||||
// debugger
|
||||
let location_ = bodavm.memory.globalobj.location
|
||||
location_._boarg= bodaobj.window['location']
|
||||
|
||||
console.log(`window_location_get `, `location_->`, location_);
|
||||
return location_
|
||||
}
|
||||
bodavm.envFunc.window_clientInformation_get = function window_clientInformation_get() {
|
||||
// debugger
|
||||
let res = navigator
|
||||
res._boarg= bodaobj.window['navigator']
|
||||
|
||||
console.log(`window_clientInformation_get `, `res- >${res}`);
|
||||
return res
|
||||
}
|
||||
@ -1761,7 +1850,9 @@
|
||||
}
|
||||
bodavm.envFunc.window_length_get = function window_length_get() {
|
||||
let _length = bodaobj.window.length;
|
||||
console.log(`window_length_get `, ` 返回的为jsdom中的window.length ->${_length}`);
|
||||
|
||||
console.log(`window_length_get `, ` length ->${_length} boss直聘检测`);
|
||||
|
||||
return _length
|
||||
}
|
||||
bodavm.envFunc.window_onbeforeunload_set = function window_onbeforeunload_set() {
|
||||
@ -1775,7 +1866,7 @@
|
||||
let arg2 = arguments[2]
|
||||
let arg3 = arguments[2]
|
||||
// let openDatabase
|
||||
debugger
|
||||
// debugger
|
||||
let database=bodavm.memory.globalobj['database']
|
||||
console.log(`window_openDatabase `, `->${arg}->${arg1}->${arg2}->${arg3} database`);
|
||||
return database
|
||||
@ -1944,7 +2035,7 @@
|
||||
for (let i = 2; i < length; i++) {
|
||||
argList.push(arguments[i]);
|
||||
}
|
||||
console.log(`window_setInterval `, `func->${func} `, `delay->${delay} `, `argList->${argList} `);
|
||||
console.log(`window_setInterval `, `func->${func.toString().length>50?func.toString().substr(0,50)+'...':func} `, `delay->${delay} `, `argList->${argList} `);
|
||||
|
||||
bodavm.memory.globalInit.timeoutID += 1
|
||||
let event = {
|
||||
@ -2180,7 +2271,11 @@
|
||||
bodavm.envFunc.Document_onprogress_get = function Document_onprogress_get() { console.log("Document_onprogress_get ", undefined, "!!!!!!!!!未完善!!!!!!!!!!!!") }
|
||||
bodavm.envFunc.Document_onratechange_get = function Document_onratechange_get() { console.log("Document_onratechange_get ", undefined, "!!!!!!!!!未完善!!!!!!!!!!!!") }
|
||||
bodavm.envFunc.Document_querySelector = function Document_querySelector() { console.log("Document_querySelector", undefined, "!!!!!!!!!未完善!!!!!!!!!!!!") }
|
||||
|
||||
bodavm.envFunc.Document_write=function (){
|
||||
let html = arguments[0]
|
||||
bodaobj.document.write(html)
|
||||
console.log(`Document_write `, `html ->${html}`);
|
||||
}
|
||||
bodavm.envFunc.Document_createEvent = function Document_createEvent() {
|
||||
// debugger
|
||||
let arg = arguments[0].toUpperCase()
|
||||
@ -2200,7 +2295,7 @@
|
||||
|
||||
case "TOUCHEVENT":
|
||||
console.log(`Document_createEvent `, event, ` 该事件只有在触摸平面(触摸屏、触摸板等)才会触发`);
|
||||
bodavm.toolsFunc.throwError('DOMException', `Failed to execute 'createEvent'on 'Document': The provided event type ('TouchEvent') is invalid.`)
|
||||
return bodavm.toolsFunc.throwError('DOMException', `Failed to execute 'createEvent'on 'Document': The provided event type ('TouchEvent') is invalid.`)
|
||||
default:
|
||||
console.log(`Document_createEvent `, `${arg} 未实现`);
|
||||
|
||||
@ -2693,7 +2788,7 @@
|
||||
bodavm.envFunc.Node_childNodes_get = function Node_childNodes_get() { console.log("Nodes_get", undefined, "!!!!!!!!!未完善!!!!!!!!!!!!") }
|
||||
bodavm.envFunc.Node_isConnected_get = function Node_isConnected_get() { console.log("Node_isConnected_get", undefined, "!!!!!!!!!未完善!!!!!!!!!!!!") }
|
||||
bodavm.envFunc.Node_nextSibling_get = function Node_nextSibling_get() {
|
||||
debugger
|
||||
// debugger
|
||||
let res = {}
|
||||
_next = this._boarg.nextSibling
|
||||
if (_next == null) {
|
||||
@ -2709,7 +2804,7 @@
|
||||
}
|
||||
bodavm.envFunc.Node_nodeType_get = function Node_nodeType_get() {
|
||||
if (bodavm.config.isdebug) { debugger }
|
||||
debugger
|
||||
// debugger
|
||||
let nodetype = this._boarg.nodeType
|
||||
console.log(`Node_nodeType_get `, `nodetype ->${nodetype}`);
|
||||
return nodetype
|
||||
@ -2722,7 +2817,7 @@
|
||||
return nodeName_
|
||||
}
|
||||
bodavm.envFunc.Node_firstChild_get = function Node_firstChild_get() {
|
||||
debugger
|
||||
// debugger
|
||||
let res = {}
|
||||
let frist_ = this._boarg.firstChild
|
||||
if (frist_) {
|
||||
@ -4263,7 +4358,7 @@
|
||||
'isTrusted': true,
|
||||
'target': this
|
||||
}
|
||||
console.log(`EventTarget_addEventListener `, `type->${type} `, `callback->${callback} `, `options->${options ? options : []} `)
|
||||
console.log(`EventTarget_addEventListener `, `type->${type} `, `callback->${callback.toString().length>50?callback.toString().substr(0,50)+'...':callback} `, `options->${options ? options : []} `)
|
||||
|
||||
bodavm.memory.asyncEvent.listener[type].push(event);
|
||||
|
||||
@ -4357,12 +4452,14 @@
|
||||
if (this._bocanvas) {
|
||||
let res = this._bocanvas.toDataURL()
|
||||
console.log(`HTMLCanvasElement_toDataURL `, `res->${res}`);
|
||||
return res
|
||||
// return res
|
||||
return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAQCAYAAABQrvyxAAAAAXNSR0IArs4c6QAAAjZJREFUSEvFlr9L1lEUxj8ujbU66GJ7DuGgc4lbUThJEG41uCm5hRBEPwhcMggSbE3dGpxcapAGEfoHInNoKZpcikfOgePx3O/7Dr52l+/7vfd7zz3Pc57n3HeI0+NvetfrkM1pzX8Xn1341CTwsErIE80JZ3CDBDMKfAAmEi3bwH3gF3AGQMW+78/J/o9q3AFuAg8sqbICFetRQpGQQVYg6/EKsA5sAgJy2z7YrpjNm1seiGAXgVngKbAMLACfAc0/A9YCc4ov9jaAq55IkEZlJsUZK2Kc8UBXBRS48oEYkV41pNF9YBx4DdyzRJ8EUK5vgRWjzu4n4HmRvZKfMoCXkzfKCvTDeGZf7OzY4dLpMPAH2AJ+AKsBQATslYlJyqAaDvRLYt4xdppYIJzt+Nvbalzzg7QmViWZl8C0JT2SALiEIqgMQNW7DtwFvjUadAnAk41Pl0619tiC+1PsPgLeAdeMOR0Uk9UW/84TrCoQmY5+8fklSS6auNVGcwUiIe+BXeCtTXpi30370ngE8NW6ibrIXmC4BSAD9bPdN0e9WmFXv9faETBjxnVmZeiYXASgb8S6DKtK9aqApCRviYg8FHelVYF+PaDg0roPN2hsm60KnEjANnZVQJ5SN1Nb7qxA/gsR2a/WxP488LFhsvOazneGx1X1NnMFslFj1/E19eLfFqWXBM8LRDNOlcAl4LixYw54AbwBvPMMPMmuAyoAt+zW+wkc2n2gK/8GcAC8ugDZ9E3KP5vHqyrasecsAAAAAElFTkSuQmCC'
|
||||
} else {
|
||||
debugger
|
||||
res = bodavm.memory.userInit.canvas_webgl
|
||||
console.log(`HTMLCanvasElement_toDataURL `, `res->${res}`);
|
||||
return res
|
||||
// return res
|
||||
return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAQCAYAAABQrvyxAAAAAXNSR0IArs4c6QAAAjZJREFUSEvFlr9L1lEUxj8ujbU66GJ7DuGgc4lbUThJEG41uCm5hRBEPwhcMggSbE3dGpxcapAGEfoHInNoKZpcikfOgePx3O/7Dr52l+/7vfd7zz3Pc57n3HeI0+NvetfrkM1pzX8Xn1341CTwsErIE80JZ3CDBDMKfAAmEi3bwH3gF3AGQMW+78/J/o9q3AFuAg8sqbICFetRQpGQQVYg6/EKsA5sAgJy2z7YrpjNm1seiGAXgVngKbAMLACfAc0/A9YCc4ov9jaAq55IkEZlJsUZK2Kc8UBXBRS48oEYkV41pNF9YBx4DdyzRJ8EUK5vgRWjzu4n4HmRvZKfMoCXkzfKCvTDeGZf7OzY4dLpMPAH2AJ+AKsBQATslYlJyqAaDvRLYt4xdppYIJzt+Nvbalzzg7QmViWZl8C0JT2SALiEIqgMQNW7DtwFvjUadAnAk41Pl0619tiC+1PsPgLeAdeMOR0Uk9UW/84TrCoQmY5+8fklSS6auNVGcwUiIe+BXeCtTXpi30370ngE8NW6ibrIXmC4BSAD9bPdN0e9WmFXv9faETBjxnVmZeiYXASgb8S6DKtK9aqApCRviYg8FHelVYF+PaDg0roPN2hsm60KnEjANnZVQJ5SN1Nb7qxA/gsR2a/WxP488LFhsvOazneGx1X1NnMFslFj1/E19eLfFqWXBM8LRDNOlcAl4LixYw54AbwBvPMMPMmuAyoAt+zW+wkc2n2gK/8GcAC8ugDZ9E3KP5vHqyrasecsAAAAAElFTkSuQmCC'
|
||||
}
|
||||
|
||||
}
|
||||
@ -5471,18 +5568,29 @@
|
||||
let failureCallback = arguments[1]
|
||||
let options = arguments[3]
|
||||
if (bodavm.config.isdebug) { debugger };
|
||||
bodavm.toolsFunc.symbolProperty(successCallback)
|
||||
bodavm.toolsFunc.symbolProperty(failureCallback)
|
||||
console.log(`RTCPeerConnection_createOffer `, `successCallback->${successCallback} `, `failureCallback->${failureCallback} `, `options->${options},!!!!!!!!!未完善!!!!!!!!!!!! `);
|
||||
return new Promise((successCallback, failureCallback) => {
|
||||
// bodavm.toolsFunc.symbolProperty(successCallback)
|
||||
// bodavm.toolsFunc.symbolProperty(failureCallback)
|
||||
|
||||
}).then(successCallback => {
|
||||
successCallback()
|
||||
},
|
||||
failureCallback => {
|
||||
failureCallback()
|
||||
}
|
||||
)
|
||||
let retSessionDescription = {};
|
||||
retSessionDescription.__proto__ = bodavm.memory.globalobj['RTCSessionDescription'].prototype
|
||||
// debugger
|
||||
// bodavm.toolsFunc.symbolProperty(batteryManager)
|
||||
console.log(`RTCPeerConnection_createOffer `, `successCallback->${successCallback} `, `failureCallback->${failureCallback} `, `options->${options},!!!!!!!!!未完善!!!!!!!!!!!! `);
|
||||
|
||||
let promise = new Promise((resolve, reject) => {
|
||||
resolve(retSessionDescription)
|
||||
})
|
||||
|
||||
return promise
|
||||
|
||||
// return new Promise((successCallback, failureCallback) => {
|
||||
// }).then(successCallback => {
|
||||
// successCallback()
|
||||
// },
|
||||
// failureCallback => {
|
||||
// failureCallback()
|
||||
// }
|
||||
// )
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
// 全局变量初始化
|
||||
var mytime_stamp=Date.now()
|
||||
var mytime_stamp = Date.now()
|
||||
// debugger
|
||||
!function () {
|
||||
window.VM2_INTERNAL_STATE_DO_NOT_USE_OR_PROGRAM_WILL_FAIL && Object.defineProperty(window, 'VM2_INTERNAL_STATE_DO_NOT_USE_OR_PROGRAM_WILL_FAIL', {
|
||||
@ -15,15 +15,15 @@ var mytime_stamp=Date.now()
|
||||
//固定时间值
|
||||
Date.now_ = Date.now
|
||||
Date.now = function () {
|
||||
console.log(`Date.now=>被调用 `,`resulit is mytime_stamp:${mytime_stamp}`)
|
||||
console.log(`Date.now=>被调用 `, `resulit is mytime_stamp:${mytime_stamp}`)
|
||||
mytime_stamp++
|
||||
return mytime_stamp
|
||||
}
|
||||
bodavm.toolsFunc.safeFunc(Date.now, 'now')
|
||||
//固定时间值
|
||||
Date.prototype.valueOf_=Date.prototype.valueOf
|
||||
Date.prototype.valueOf=function valueOf(){
|
||||
console.log(`Date.prototype.valueOf=>被调用 `,`resulit is mytime_stamp:${mytime_stamp}`)
|
||||
Date.prototype.valueOf_ = Date.prototype.valueOf
|
||||
Date.prototype.valueOf = function valueOf() {
|
||||
console.log(`Date.prototype.valueOf=>被调用 `, `resulit is mytime_stamp:${mytime_stamp}`)
|
||||
mytime_stamp++
|
||||
return mytime_stamp
|
||||
}
|
||||
@ -31,7 +31,7 @@ var mytime_stamp=Date.now()
|
||||
|
||||
Date.prototype.getTime_ = Date.prototype.getTime
|
||||
Date.prototype.getTime = function () {
|
||||
console.log(`Date.prototype.getTime=>被调用 `,`resulit is mytime_stamp:${mytime_stamp}`)
|
||||
console.log(`Date.prototype.getTime=>被调用 `, `resulit is mytime_stamp:${mytime_stamp}`)
|
||||
mytime_stamp++
|
||||
return mytime_stamp
|
||||
}
|
||||
@ -39,135 +39,139 @@ var mytime_stamp=Date.now()
|
||||
//固定随机值
|
||||
Math.random_ = Math.random;
|
||||
Math.random = function () {
|
||||
console.log(`Math.random=>被调用 `,`resulit is Math.random:${0.5}`)
|
||||
console.log(`Math.random=>被调用 `, `resulit is Math.random:${0.5}`)
|
||||
return 0.5
|
||||
}
|
||||
bodavm.toolsFunc.safeFunc(Math.random, 'random')
|
||||
}()
|
||||
|
||||
}
|
||||
|
||||
JSON.stringify_bo=JSON.stringify
|
||||
JSON.stringify=function stringify(){
|
||||
let arg0=arguments[0]
|
||||
let arg1=arguments[1]
|
||||
|
||||
JSON.stringify_bo = JSON.stringify
|
||||
JSON.stringify = function stringify() {
|
||||
let arg0 = arguments[0]
|
||||
let arg1 = arguments[1]
|
||||
let arg2 = arguments[2]
|
||||
if (arg2 = 'bo') {
|
||||
return JSON.stringify_bo.call(this, arg0, arg1)
|
||||
}
|
||||
// debugger
|
||||
if (arg0 && arg0.length){
|
||||
if (arg0.indexOf(console)>-1){
|
||||
if (arg0 && arg0.length) {
|
||||
if (arg0.indexOf(console) > -1) {
|
||||
debugger
|
||||
console.log('JSON.stringify ',' console',' 检测console');
|
||||
arg0[arg0.indexOf(console)]={"memory":{}}
|
||||
console.log('JSON.stringify ', ' console', ' 检测console');
|
||||
arg0[arg0.indexOf(console)] = { "memory": {} }
|
||||
}
|
||||
}else{
|
||||
if (arg0 ==console){
|
||||
debugger
|
||||
console.log('JSON.stringify ',' console',' 检测console');
|
||||
} else {
|
||||
if (arg0 == console) {
|
||||
debugger
|
||||
console.log('JSON.stringify ', ' console', ' 检测console');
|
||||
return '{"memory":{}}'
|
||||
}
|
||||
|
||||
}
|
||||
if (typeof arg0 =='string'){
|
||||
console.log(`JSON.stringify `, ` arg0:${arg0.length>20?arg0.substring(0,20)+'...':arg0}`, ` arg1:${arg1}`)
|
||||
|
||||
}else{
|
||||
}
|
||||
if (typeof arg0 == 'string') {
|
||||
console.log(`JSON.stringify `, ` arg0:${arg0.length > 20 ? arg0.substring(0, 20) + '...' : arg0}`, ` arg1:${arg1}`)
|
||||
|
||||
} else {
|
||||
console.log(`JSON.stringify `, ` arg0:${arg0}`, ` arg1:${arg1}`)
|
||||
|
||||
}
|
||||
return JSON.stringify_bo.call(this,arg0,arg1)
|
||||
|
||||
return JSON.stringify_bo.call(this, arg0, arg1)
|
||||
|
||||
}
|
||||
|
||||
bodavm.toolsFunc.safefunction(JSON.stringify,'stringify')
|
||||
bodavm.toolsFunc.safefunction(JSON.stringify, 'stringify')
|
||||
|
||||
|
||||
JSON.parse_bo= JSON.parse
|
||||
JSON.parse=function parse(){
|
||||
let arg0=arguments[0]
|
||||
let arg1=arguments[1]
|
||||
console.log(`JSON.parse `,` arg0:${arg0.length>20?arg0.substring(0,20)+'...':arg0}`,` arg1:${arg1}`)
|
||||
return JSON.parse_bo.apply(this,arguments)
|
||||
JSON.parse_bo = JSON.parse
|
||||
JSON.parse = function parse() {
|
||||
let arg0 = arguments[0]
|
||||
let arg1 = arguments[1]
|
||||
console.log(`JSON.parse `, ` arg0:${arg0.length > 20 ? arg0.substring(0, 20) + '...' : arg0}`, ` arg1:${arg1}`)
|
||||
return JSON.parse_bo.apply(this, arguments)
|
||||
}
|
||||
bodavm.toolsFunc.safefunction(JSON.parse,'parse')
|
||||
bodavm.toolsFunc.safefunction(JSON.parse, 'parse')
|
||||
|
||||
|
||||
|
||||
Object.getOwnPropertyDescriptor_bo=Object.getOwnPropertyDescriptor
|
||||
Object.getOwnPropertyDescriptor=function getOwnPropertyDescriptor(){
|
||||
let obj=arguments[0]
|
||||
let prop=arguments[1]
|
||||
Object.getOwnPropertyDescriptor_bo = Object.getOwnPropertyDescriptor
|
||||
Object.getOwnPropertyDescriptor = function getOwnPropertyDescriptor() {
|
||||
let obj = arguments[0]
|
||||
let prop = arguments[1]
|
||||
// debugger
|
||||
if (prop =='constructor'){
|
||||
// if (obj ==document){debugger}
|
||||
return Object.getOwnPropertyDescriptor_bo.apply(this,arguments)
|
||||
if (prop == 'constructor') {
|
||||
// if (obj ==document){debugger}
|
||||
return Object.getOwnPropertyDescriptor_bo.apply(this, arguments)
|
||||
}
|
||||
desc_res=Object.getOwnPropertyDescriptor_bo.apply(this,arguments)
|
||||
console.log(`Object.getOwnPropertyDescriptor==> `,` obj:${obj}`,`prop:${prop}`,`res ->${desc_res} !!!!检测`);
|
||||
desc_res = Object.getOwnPropertyDescriptor_bo.apply(this, arguments)
|
||||
console.log(`Object.getOwnPropertyDescriptor==> `, ` obj:${obj}`, `prop:${prop}`, `res ->${desc_res} !!!!检测`);
|
||||
return desc_res
|
||||
}
|
||||
bodavm.toolsFunc.safefunction(Object.getOwnPropertyDescriptor,'getOwnPropertyDescriptor')
|
||||
bodavm.toolsFunc.safefunction(Object.getOwnPropertyDescriptor, 'getOwnPropertyDescriptor')
|
||||
|
||||
|
||||
Object.getOwnPropertyDescriptors_bo=Object.getOwnPropertyDescriptors
|
||||
Object.getOwnPropertyDescriptors=function getOwnPropertyDescriptor(){
|
||||
let arg0=arguments[0]
|
||||
Object.getOwnPropertyDescriptors_bo = Object.getOwnPropertyDescriptors
|
||||
Object.getOwnPropertyDescriptors = function getOwnPropertyDescriptor() {
|
||||
let arg0 = arguments[0]
|
||||
debugger
|
||||
descs_res=Object.getOwnPropertyDescriptors_bo.apply(this,arguments)
|
||||
console.log(`Object.getOwnPropertyDescriptors==> `,`arg0:${arg0}`,`res ->${descs_res} !!!!检测`);
|
||||
descs_res = Object.getOwnPropertyDescriptors_bo.apply(this, arguments)
|
||||
console.log(`Object.getOwnPropertyDescriptors==> `, `arg0:${arg0}`, `res ->${descs_res} !!!!检测`);
|
||||
return descs_res
|
||||
}
|
||||
bodavm.toolsFunc.safefunction(Object.getOwnPropertyDescriptors,'getOwnPropertyDescriptors')
|
||||
bodavm.toolsFunc.safefunction(Object.getOwnPropertyDescriptors, 'getOwnPropertyDescriptors')
|
||||
|
||||
Object.getOwnPropertyNames_bo=Object.getOwnPropertyNames
|
||||
Object.getOwnPropertyNames=function getOwnPropertyDescriptor(){
|
||||
let arg0=arguments[0]
|
||||
let name_res=Object.getOwnPropertyNames_bo.apply(this,arguments)
|
||||
console.log(`Object.getOwnPropertyNames==> `,` arg0:${arg0}`,`name_res->${name_res} !!!检测`);
|
||||
Object.getOwnPropertyNames_bo = Object.getOwnPropertyNames
|
||||
Object.getOwnPropertyNames = function getOwnPropertyDescriptor() {
|
||||
let arg0 = arguments[0]
|
||||
let name_res = Object.getOwnPropertyNames_bo.apply(this, arguments)
|
||||
console.log(`Object.getOwnPropertyNames==> `, ` arg0:${arg0}`, `name_res->${name_res} !!!检测`);
|
||||
return name_res
|
||||
}
|
||||
bodavm.toolsFunc.safefunction(Object.getOwnPropertyNames,'getOwnPropertyNames')
|
||||
bodavm.toolsFunc.safefunction(Object.getOwnPropertyNames, 'getOwnPropertyNames')
|
||||
|
||||
|
||||
Object.getPrototypeOf_bo=Object.getPrototypeOf
|
||||
Object.getPrototypeOf=function (obj){
|
||||
console.log(`Object.getPrototypeOf `,`obj:${obj}`,'!!!!检测');
|
||||
return Object.getPrototypeOf_bo.apply(this,arguments)
|
||||
Object.getPrototypeOf_bo = Object.getPrototypeOf
|
||||
Object.getPrototypeOf = function (obj) {
|
||||
console.log(`Object.getPrototypeOf `, `obj:${obj}`, '!!!!检测');
|
||||
return Object.getPrototypeOf_bo.apply(this, arguments)
|
||||
}
|
||||
bodavm.toolsFunc.safefunction(Object.getOwnPropertyNames,'getOwnPropertyNames')
|
||||
bodavm.toolsFunc.safefunction(Object.getOwnPropertyNames, 'getOwnPropertyNames')
|
||||
|
||||
Object.getOwnPropertySymbols_bo=Object.getOwnPropertySymbols
|
||||
Object.getOwnPropertySymbols=function getOwnPropertySymbols(arg){
|
||||
let symbols_res=Object.getOwnPropertySymbols_bo.apply(this,arguments)
|
||||
console.log('Object.getOwnPropertySymbols ',`arg:${arg}`,`symbols_res ->${symbols_res} !!!!检测`);
|
||||
Object.getOwnPropertySymbols_bo = Object.getOwnPropertySymbols
|
||||
Object.getOwnPropertySymbols = function getOwnPropertySymbols(arg) {
|
||||
let symbols_res = Object.getOwnPropertySymbols_bo.apply(this, arguments)
|
||||
console.log('Object.getOwnPropertySymbols ', `arg:${arg}`, `symbols_res ->${symbols_res} !!!!检测`);
|
||||
return symbols_res
|
||||
}
|
||||
bodavm.toolsFunc.safefunction(Object.getOwnPropertySymbols,'getOwnPropertySymbols')
|
||||
bodavm.toolsFunc.safefunction(Object.getOwnPropertySymbols, 'getOwnPropertySymbols')
|
||||
//Plugin
|
||||
|
||||
|
||||
Object.defineProperty_bo=Object.defineProperty
|
||||
Object.defineProperty=function defineProperty(){
|
||||
|
||||
Object.defineProperty_bo = Object.defineProperty
|
||||
Object.defineProperty = function defineProperty() {
|
||||
// debugger
|
||||
let target=arguments[0]
|
||||
let prop=arguments[1]
|
||||
let obj=arguments[2]
|
||||
let myfilter=arguments[3]
|
||||
if (myfilter =='bobo'){return Object.defineProperty_bo.call(this,target,prop,obj)}
|
||||
let res=Object.defineProperty_bo.call(this,target,prop,obj)
|
||||
console.log(`Object.defineProperty `,`target ->${(target.toString())}->`,`prop->${(prop.toString())}->`,`obj ->${(obj.toString())}->`,`res ->${res.toString()}`,`!!!!!检测`)
|
||||
let target = arguments[0]
|
||||
let prop = arguments[1]
|
||||
let obj = arguments[2]
|
||||
let myfilter = arguments[3]
|
||||
if (myfilter == 'bobo') { return Object.defineProperty_bo.call(this, target, prop, obj) }
|
||||
let res = Object.defineProperty_bo.call(this, target, prop, obj)
|
||||
console.log(`Object.defineProperty `, `target ->${(target.toString())}->`, `prop->${(prop.toString())}->`, `obj ->${(obj.toString())}->`, `res ->${res.toString()}`, `!!!!!检测`)
|
||||
|
||||
return res
|
||||
}
|
||||
bodavm.toolsFunc.safefunction(Object.defineProperty,'defineProperty')
|
||||
bodavm.toolsFunc.safefunction(Object.defineProperty, 'defineProperty')
|
||||
|
||||
Object.values_bo=Object.values
|
||||
Object.values=function values(){
|
||||
let res=Object.defineProperty_bo.apply(this,arguments)
|
||||
console.log(`Object.values `,`ress ->${res} !!!!!!!!!!检测`);
|
||||
Object.values_bo = Object.values
|
||||
Object.values = function values() {
|
||||
let res = Object.defineProperty_bo.apply(this, arguments)
|
||||
console.log(`Object.values `, `ress ->${res} !!!!!!!!!!检测`);
|
||||
return res
|
||||
}
|
||||
bodavm.toolsFunc.safefunction(Object.values,'values')
|
||||
|
||||
|
||||
bodavm.toolsFunc.safefunction(Object.values, 'values')
|
||||
|
||||
|
||||
// Object.prototype.hasOwnProperty_bo=Object.prototype.hasOwnProperty
|
||||
// Object.prototype.hasOwnProperty=function (){
|
||||
// debugger
|
||||
@ -179,16 +183,36 @@ var mytime_stamp=Date.now()
|
||||
|
||||
// bodavm.toolsFunc.safefunction(Object.prototype.hasOwnProperty,'hasOwnProperty')
|
||||
|
||||
Object.entries_bo=Object.entries
|
||||
Object.entries=function (){
|
||||
let obj=arguments[0]
|
||||
let res=Object.entries_bo.call(this,obj)
|
||||
console.log(`Object.entries `,`obj ->${obj}`,`res ->${res} !!!!!!检测!!!!`)
|
||||
Object.entries_bo = Object.entries
|
||||
Object.entries = function () {
|
||||
let obj = arguments[0]
|
||||
let res = Object.entries_bo.call(this, obj)
|
||||
console.log(`Object.entries `, `obj ->${obj}`, `res ->${res} !!!!!!检测!!!!`)
|
||||
return res
|
||||
}
|
||||
bodavm.toolsFunc.safefunction( Object.entries,'entries')
|
||||
bodavm.toolsFunc.safefunction(Object.entries, 'entries')
|
||||
|
||||
// Object.prototype.hasOwnProperty_ = Object.prototype.hasOwnProperty
|
||||
// Object.prototype.hasOwnProperty = function(x) {
|
||||
// // debugger
|
||||
// if (x+''=='base64StrLength'){debugger}
|
||||
// res = Object.prototype.hasOwnProperty_.apply(this, arguments)
|
||||
// console.log('this',this, ' arg->',x ,' res->', res)
|
||||
// return res
|
||||
// }
|
||||
// bodavm.toolsFunc.safefunction(Object.prototype.hasOwnProperty,'hasOwnProperty')
|
||||
|
||||
// String.fromCharCode_=String.fromCharCode
|
||||
// String.fromCharCode=function(x){
|
||||
// res=String.fromCharCode_.apply(this,arguments)
|
||||
// console.log('this->',JSON.stringify(this,function(k,v){
|
||||
// if (v ==window){
|
||||
// return 'window'
|
||||
// }else{return v}
|
||||
// }),' arg -> ',x,' res -> ',res)
|
||||
// // if((x+'' =='99') && (res +'' =='c')){debugger}
|
||||
// return res
|
||||
// };;
|
||||
}();
|
||||
|
||||
|
||||
|
@ -53,7 +53,7 @@ console.log(`===================================================================
|
||||
|
||||
// delete DeprecatedStorageInfo
|
||||
// delete Database;
|
||||
debugger;
|
||||
// debugger;
|
||||
|
||||
|
||||
|
||||
|
@ -317,8 +317,8 @@
|
||||
|
||||
|
||||
} catch (e) {
|
||||
//
|
||||
// debugger
|
||||
// //
|
||||
// // debugger
|
||||
let log__ = `'[${name}]正在执行,错误信息${e.message}'`
|
||||
console.log(log__);
|
||||
bodavm.toolsFunc.printLog(log__)
|
||||
@ -495,7 +495,8 @@
|
||||
let e = new Error();
|
||||
e.message = message;
|
||||
e.name = name;
|
||||
e.stack = `${name}: ${message}at <anonymous>:1:1`
|
||||
e.stack = `${name}: ${message}
|
||||
at <anonymous>:1:1`
|
||||
throw e
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user