This commit is contained in:
xuxiaobo-bobo 2023-03-30 18:37:13 +08:00
parent cb63881fd5
commit b0347f7b35
15 changed files with 25124 additions and 1521 deletions

View File

@ -26,7 +26,7 @@ bodavm.config.proxy = false; //是否代理
//网站为r4或者r5 设置为true 否则请关闭 //网站为r4或者r5 设置为true 否则请关闭
bodavm.config.isrs = true //判断当前网站是不是瑞数 bodavm.config.isrs = false //判断当前网站是不是瑞数
//网站为r6 设置为true body设置为0 否则请把true改为false //网站为r6 设置为true body设置为0 否则请把true改为false
bodavm.memory.rs6=false bodavm.memory.rs6=false
bodavm.memory.rs6_body=0 bodavm.memory.rs6_body=0
@ -112,33 +112,31 @@ bodavm.memory.IDBOpenDBRequest = {
} }
bodavm.memory.location={ bodavm.memory.location={
origin:"http://sthjt.hubei.gov.cn", origin:"https://www.douyin.com",
hash:"", hash:"",
pathname:"/site/sthjt/search.html", pathname:"/",
search:"?searchWord=%E7%A2%B3%E6%8E%92%E6%94%BE&siteId=41&pageSize=10", search:"",
href:"http://sthjt.hubei.gov.cn/site/sthjt/search.html?searchWord=%E7%A2%B3%E6%8E%92%E6%94%BE&siteId=41&pageSize=10", href:"https://www.douyin.com/",
port:"", port:"",
protocol:"http:", protocol:"https:",
host:"sthjt.hubei.gov.cn", host:"www.douyin.com",
ancestorOrigins:"{}", ancestorOrigins:"{}",
hostname:"sthjt.hubei.gov.cn" hostname:"www.douyin.com"
}; };
bodavm.memory.document={ 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", URL:"https://www.douyin.com/",
referrer:"http://sthjt.hubei.gov.cn/site/sthjt/search.html?searchWord=%E7%A2%B3%E6%8E%92%E6%94%BE&siteId=41&pageSize=10", referrer:"https://www.douyin.com/",
documentURI:"http://sthjt.hubei.gov.cn/site/sthjt/search.html?searchWord=%E7%A2%B3%E6%8E%92%E6%94%BE&siteId=41&pageSize=10", documentURI:"https://www.douyin.com/",
compatMode:"CSS1Compat", compatMode:"CSS1Compat",
dir:"", dir:"",
title:"湖北省生态环境厅", title:"抖音-记录美好生活",
designMode:"off", designMode:"off",
readyState:"complete", readyState:"complete",
contentType:"text/html", contentType:"text/html",
inputEncoding:"UTF-8", inputEncoding:"UTF-8",
domain:"sthjt.hubei.gov.cn", domain:"www.douyin.com",
characterSet:"UTF-8", characterSet:"UTF-8",
charset:"UTF-8", charset:"UTF-8",
hidden:"false", hidden:"false",
@ -165,49 +163,57 @@ bodavm.memory.screen={
colorDepth:24, colorDepth:24,
availLeft:0, availLeft:0,
availTop:0, availTop:0,
isExtended:undefined, isExtended:false,
orientation:{}, orientation:{},
onchange:undefined, onchange:null,
}; };
bodavm.memory.navigator={ bodavm.memory.navigator={
language:"zh-CN", 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", 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; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36", 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.", vendor:"Google Inc.",
appName:"Netscape", appName:"Netscape",
appCodeName:"Mozilla", appCodeName:"Mozilla",
cookieEnabled:true, cookieEnabled:true,
languages:["zh-CN","zh"], languages:["zh-CN","en","en-GB","en-US"],
productSub:"20030107", productSub:"20030107",
userAgentData:undefined, userAgentData:{"brands":[{"brand":"Chromium","version":"110"},{"brand":"Not A(Brand","version":"24"},{"brand":"Microsoft Edge","version":"110"}],"mobile":false,"platform":"Windows"},
xr:undefined, xr:{},
platform:'Win32', platform:'Win32',
webkitPersistentStorage:{}, webkitPersistentStorage:{},
connection:{}, connection:{},
javaEnabled:false, javaEnabled:false,
product:'Gecko', product:'Gecko',
vendorSub:"", vendorSub:"",
deviceMemory:undefined, deviceMemory:8,
maxTouchPoints:0 maxTouchPoints:0
}; };
bodavm.memory.window={ bodavm.memory.window={
name:"", name:"",
innerWidth:1440, innerWidth:1440,
innerHeight:817, innerHeight:817,
origin:"http://sthjt.hubei.gov.cn", origin:"https://www.douyin.com",
outerWidth:1440, outerWidth:1440,
outerHeight:920, outerHeight:920,
defaultStatus:"", defaultStatus:undefined,
defaultstatus:"", defaultstatus:undefined,
devicePixelRatio:1.5, devicePixelRatio:1.5,
isSecureContext:false, isSecureContext:true,
length:1, length:0,
status:"", status:"",
onmessage:null, onmessage:null,
onbeforeunload:function _$fx(_$jL){_$eA?(_$jN(new _$d0(_$hn[58],{},_$hf(_$jL[_$_8[73]]))),_$eu()):0;}, onbeforeunload:null,
closed:false, 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={} bodavm.memory.localStorage={}

View File

@ -72,6 +72,7 @@ function getCode() {
code += getFile("TrustedTypePolicyFactory") code += getFile("TrustedTypePolicyFactory")
code += getFile('Scheduler') code += getFile('Scheduler')
code += getFile("CookieStore") code += getFile("CookieStore")
code +=getFile('RTCSessionDescription')
code+= getFile('RTCDataChannel') code+= getFile('RTCDataChannel')
code += getFile("CacheStorage") code += getFile("CacheStorage")
code +=getFile('Promise') code +=getFile('Promise')

View 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) => {
// });

View File

View File

@ -1,9 +1,24 @@
function get_cookie(){ 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={ let res={
// b:new XMLHttpRequest().open(''), // b:new XMLHttpRequest().open(''),
cookie:document.cookie cookie:document.cookie,
// result:aaa
} }
return res 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

File diff suppressed because one or more lines are too long

View File

@ -46,7 +46,7 @@ noexecListener={
if (bodavm.memory.asyncEvent.listener) { if (bodavm.memory.asyncEvent.listener) {
for (const key in bodavm.memory.asyncEvent.listener) { for (const key in bodavm.memory.asyncEvent.listener) {
let event = bodavm.memory.asyncEvent.listener[key] let event = bodavm.memory.asyncEvent.listener[key]
debugger // debugger
for (let i = 0; i < event.length; i++) { for (let i = 0; i < event.length; i++) {
// debugger // debugger
if (noexecListener[event[i].type]){ if (noexecListener[event[i].type]){
@ -69,26 +69,28 @@ if (bodavm.memory.asyncEvent.listener) {
} }
} }
// let setTimeEvent = bodavm.memory.asyncEvent.setTimeout let setTimeEvent = bodavm.memory.asyncEvent.setTimeout
// console.log(`当前setTimeEvent有===>${JSON.stringify(setTimeEvent)}`)
// if (setTimeEvent) { console.log(`当前setTimeEvent有===>${JSON.stringify(setTimeEvent)}`)
// setTimeEvent.sort((a, b) => { if (setTimeEvent) {
// return a.timeoutID > b.timeoutID ? 1 : -1; setTimeEvent.sort((a, b) => {
// }) return a.timeoutID > b.timeoutID ? 1 : -1;
// setTimeEvent.sort((a, b) => { })
// return a.delay > b.delay ? 1 : -1;
// }) setTimeEvent.sort((a, b) => {
// for (let i = 0; i < setTimeEvent.length; i++) { return a.delay > b.delay ? 1 : -1;
// let event = setTimeEvent[i] })
// if (event == undefined) { continue } for (let i = 0; i < setTimeEvent.length; i++) {
// console.log(`异步回调执行settime=======================================>${JSON.stringify(event)} callback:${event.callback}`); let event = setTimeEvent[i]
// if (event.type) { if (event == undefined) { continue }
// event.callback() console.log(`异步回调执行settime=======================================>${JSON.stringify(event)} callback:${event.callback+''.length>50?event.callback+''.substring(0,50):event.callback+''}`);
// } else { if (event.type) {
// eval(event.callback) event.callback()
// } } else {
// } eval(event.callback)
// } }
}
}
// 鼠标事件最后执行,模仿网站加载完成后再移动鼠标触发事件 // 鼠标事件最后执行,模仿网站加载完成后再移动鼠标触发事件
// //鼠标轨迹,获取实际网站的 // //鼠标轨迹,获取实际网站的

View File

@ -1,7 +1,11 @@
// 浏览器接口具体的实现 // 浏览器接口具体的实现
!function () { !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_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} 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 () { bodavm.envFunc.window_oncanplaythrough_get = function () {
let arg = bodavm.memory.window['oncanplaythrough'] let arg = bodavm.memory.window['oncanplaythrough']
arg._boarg= bodaobj.window['oncanplaythrough']
console.log(`window_oncanplaythrough_get `, `res ->${arg}`); console.log(`window_oncanplaythrough_get `, `res ->${arg}`);
return arg return arg
} }
bodavm.envFunc.window_oncanplay_get = function () { bodavm.envFunc.window_oncanplay_get = function () {
let arg = bodavm.memory.window['oncanplay'] let arg = bodavm.memory.window['oncanplay']
arg._boarg= bodaobj.window['oncanplay']
console.log(`window_oncanplay_get `, `res ->${arg}`); console.log(`window_oncanplay_get `, `res ->${arg}`);
return arg return arg
} }
bodavm.envFunc.window_oncancel_get = function () { bodavm.envFunc.window_oncancel_get = function () {
let arg = bodavm.memory.window['oncancel'] let arg = bodavm.memory.window['oncancel']
arg._boarg= bodaobj.window['oncancel']
console.log(`window_oncancel_get `, `res ->${arg}`); console.log(`window_oncancel_get `, `res ->${arg}`);
return arg return arg
} }
bodavm.envFunc.window_onblur_get = function () { bodavm.envFunc.window_onblur_get = function () {
let arg = bodavm.memory.window['onblur'] let arg = bodavm.memory.window['onblur']
arg._boarg= bodaobj.window['onblur']
console.log(`window_onblur_get `, `res ->${arg}`); console.log(`window_onblur_get `, `res ->${arg}`);
return arg return arg
} }
bodavm.envFunc.window_onappinstalled_get = function () { bodavm.envFunc.window_onappinstalled_get = function () {
let arg = bodavm.memory.window['onappinstalled'] let arg = bodavm.memory.window['onappinstalled']
arg._boarg= bodaobj.window['onappinstalled']
console.log(`window_onappinstalled_get `, `res ->${arg}`); console.log(`window_onappinstalled_get `, `res ->${arg}`);
return arg return arg
} }
bodavm.envFunc.window_onbeforeinstallprompt_get = function () { bodavm.envFunc.window_onbeforeinstallprompt_get = function () {
let arg = bodavm.memory.window['onbeforeinstallprompt'] let arg = bodavm.memory.window['onbeforeinstallprompt']
arg._boarg= bodaobj.window['onbeforeinstallprompt']
console.log(`window_onbeforeinstallprompt_get `, `res ->${arg}`); console.log(`window_onbeforeinstallprompt_get `, `res ->${arg}`);
return arg return arg
} }
bodavm.envFunc.window_onbeforexrselect_get = function () { bodavm.envFunc.window_onbeforexrselect_get = function () {
let arg = bodavm.memory.window['onbeforexrselect'] let arg = bodavm.memory.window['onbeforexrselect']
arg._boarg= bodaobj.window['onbeforexrselect']
console.log(`window_onbeforexrselect_get `, `res ->${arg}`); console.log(`window_onbeforexrselect_get `, `res ->${arg}`);
return arg return arg
} }
bodavm.envFunc.window_onabort_get = function () { bodavm.envFunc.window_onabort_get = function () {
let arg = bodavm.memory.window['onabort'] let arg = bodavm.memory.window['onabort']
arg._boarg= bodaobj.window['onabort']
console.log(`window_onabort_get `, `res ->${arg}`); console.log(`window_onabort_get `, `res ->${arg}`);
return arg return arg
} }
bodavm.envFunc.window_isSecureContext_get = function () { bodavm.envFunc.window_isSecureContext_get = function () {
let arg = bodavm.memory.window['isSecureContext'] let arg = bodavm.memory.window['isSecureContext']
arg._boarg= bodaobj.window['isSecureContext']
console.log(`window_isSecureContext_get `, `res ->${arg}`); console.log(`window_isSecureContext_get `, `res ->${arg}`);
return arg return arg
} }
bodavm.envFunc.window_onsearch_get = function () { bodavm.envFunc.window_onsearch_get = function () {
let arg = bodavm.memory.globalobj['onsearch'] ? bodavm.memory.globalobj['onsearch'] : null let arg = bodavm.memory.globalobj['onsearch'] ? bodavm.memory.globalobj['onsearch'] : null
arg._boarg= bodaobj.window['onsearch']
console.log(`window_onsearch_get `, `res ->${arg}`); console.log(`window_onsearch_get `, `res ->${arg}`);
return arg return arg
} }
bodavm.envFunc.window_styleMedia_get = function () { bodavm.envFunc.window_styleMedia_get = function () {
let arg = bodavm.memory.globalobj['styleMedia'] ? bodavm.memory.globalobj['styleMedia'] : null let arg = bodavm.memory.globalobj['styleMedia'] ? bodavm.memory.globalobj['styleMedia'] : null
arg._boarg= bodaobj.window['styleMedia']
console.log(`window_styleMedia_get `, `res ->${arg}`); console.log(`window_styleMedia_get `, `res ->${arg}`);
return arg return arg
} }
bodavm.envFunc.window_frameElement_get = function () { bodavm.envFunc.window_frameElement_get = function () {
let arg = bodavm.memory.globalobj['frameElement'] ? bodavm.memory.globalobj['frameElement'] : null let arg = bodavm.memory.globalobj['frameElement'] ? bodavm.memory.globalobj['frameElement'] : null
arg._boarg= bodaobj.window['frameElement']
console.log(`window_frameElement_get `, `res ->${arg}`); console.log(`window_frameElement_get `, `res ->${arg}`);
return arg return arg
} }
bodavm.envFunc.window_opener_get = function () { bodavm.envFunc.window_opener_get = function () {
let arg = bodavm.memory.globalobj['opener'] ? bodavm.memory.globalobj['opener'] : null let arg = bodavm.memory.globalobj['opener'] ? bodavm.memory.globalobj['opener'] : null
arg._boarg= bodaobj.window['opener']
console.log(`window_opener_get `, `res ->${arg}`); console.log(`window_opener_get `, `res ->${arg}`);
return arg return arg
} }
bodavm.envFunc.window_statusbar_get = function () { bodavm.envFunc.window_statusbar_get = function () {
let arg = bodavm.memory.globalobj['statusbar'] let arg = bodavm.memory.globalobj['statusbar']
arg._boarg= bodaobj.window['statusbar']
console.log(`window_statusbar_get `, `res ->${arg}`); console.log(`window_statusbar_get `, `res ->${arg}`);
return arg return arg
} }
bodavm.envFunc.window_scrollbars_get = function () { bodavm.envFunc.window_scrollbars_get = function () {
let arg = bodavm.memory.globalobj['scrollbars'] let arg = bodavm.memory.globalobj['scrollbars']
arg._boarg= bodaobj.window['scrollbars']
console.log(`window_scrollbars_get `, `res ->${arg}`); console.log(`window_scrollbars_get `, `res ->${arg}`);
return arg return arg
} }
bodavm.envFunc.window_locationbar_get = function () { bodavm.envFunc.window_locationbar_get = function () {
let arg = bodavm.memory.globalobj['locationbar'] let arg = bodavm.memory.globalobj['locationbar']
arg._boarg= bodaobj.window['locationbar']
console.log(`window_locationbar_get `, `res ->${arg}`); console.log(`window_locationbar_get `, `res ->${arg}`);
return arg return arg
} }
bodavm.envFunc.window_personalbar_get = function () { bodavm.envFunc.window_personalbar_get = function () {
let arg = bodavm.memory.globalobj['personalbar'] let arg = bodavm.memory.globalobj['personalbar']
arg._boarg= bodaobj.window['personalbar']
console.log(`window_personalbar_get `, `res ->${arg}`); console.log(`window_personalbar_get `, `res ->${arg}`);
return arg return arg
} }
bodavm.envFunc.window_speechSynthesis_get = function () { bodavm.envFunc.window_speechSynthesis_get = function () {
let arg = bodavm.memory.globalobj['speechSynthesis'] let arg = bodavm.memory.globalobj['speechSynthesis']
arg._boarg= bodaobj.window['speechSynthesis']
console.log(`window_speechSynthesis_get `, `res ->${arg}`); console.log(`window_speechSynthesis_get `, `res ->${arg}`);
return arg return arg
} }
@ -1011,94 +1049,115 @@
bodavm.envFunc.window_trustedTypes_get = function () { bodavm.envFunc.window_trustedTypes_get = function () {
let arg = bodavm.memory.globalobj['trustedTypes'] let arg = bodavm.memory.globalobj['trustedTypes']
arg._boarg= bodaobj.window['trustedTypes']
console.log(`window_trustedTypes_get `, `res -> ${arg}`); console.log(`window_trustedTypes_get `, `res -> ${arg}`);
return arg return arg
} }
bodavm.envFunc.window_cookieStore_get = function () { bodavm.envFunc.window_cookieStore_get = function () {
let arg = bodavm.memory.globalobj['cookieStore'] let arg = bodavm.memory.globalobj['cookieStore']
arg._boarg= bodaobj.window['cookieStore']
console.log(`window_cookieStore_get `, `res -> ${arg}`); console.log(`window_cookieStore_get `, `res -> ${arg}`);
return arg return arg
} }
bodavm.envFunc.window_external_get = function () { bodavm.envFunc.window_external_get = function () {
let arg = bodavm.memory.globalobj['external'] let arg = bodavm.memory.globalobj['external']
arg._boarg= bodaobj.window['external']
console.log(`window_external_get `, `res -> ${arg}`); console.log(`window_external_get `, `res -> ${arg}`);
return arg return arg
} }
bodavm.envFunc.window_caches_get = function () { bodavm.envFunc.window_caches_get = function () {
let arg = bodavm.memory.globalobj['caches'] let arg = bodavm.memory.globalobj['caches']
arg._boarg= bodaobj.window['caches']
console.log(`window_caches_get `, `res -> ${arg}`); console.log(`window_caches_get `, `res -> ${arg}`);
return arg return arg
} }
bodavm.envFunc.window_visualViewport_get = function () { bodavm.envFunc.window_visualViewport_get = function () {
let arg = bodavm.memory.globalobj['visualViewport'] let arg = bodavm.memory.globalobj['visualViewport']
arg._boarg= bodaobj.window['visualViewport']
console.log(`window_visualViewport_get `, `res -> ${arg}`); console.log(`window_visualViewport_get `, `res -> ${arg}`);
return arg return arg
} }
bodavm.envFunc.window_menubar_get = function () { bodavm.envFunc.window_menubar_get = function () {
let arg = bodavm.memory.globalobj['menubar'] let arg = bodavm.memory.globalobj['menubar']
arg._boarg= bodaobj.window['menubar']
console.log(`window_menubar_get `, `res -> ${arg}`); console.log(`window_menubar_get `, `res -> ${arg}`);
return arg return arg
} }
bodavm.envFunc.window_toolbar_get = function () { bodavm.envFunc.window_toolbar_get = function () {
let arg = bodavm.memory.globalobj['toolbar'] let arg = bodavm.memory.globalobj['toolbar']
arg._boarg= bodaobj.window['toolbar']
console.log(`window_toolbar_get `, `res -> ${arg}`); console.log(`window_toolbar_get `, `res -> ${arg}`);
return arg return arg
} }
bodavm.envFunc.window_CookieStore = function () { bodavm.envFunc.window_CookieStore = function () {
let arg = bodavm.memory.globalobj['CookieStore'] let arg = bodavm.memory.globalobj['CookieStore']
arg._boarg= bodaobj.window['CookieStore']
console.log(`window_CookieStore `, `res -> ${arg}`); console.log(`window_CookieStore `, `res -> ${arg}`);
return arg return arg
} }
bodavm.envFunc.window_Storage = function () { bodavm.envFunc.window_Storage = function () {
let arg = bodavm.memory.globalobj['Storage'] let arg = bodavm.memory.globalobj['Storage']
arg._boarg= bodaobj.window['Storage']
console.log(`window_Storage `, `res -> ${arg}`); console.log(`window_Storage `, `res -> ${arg}`);
return arg return arg
} }
bodavm.envFunc.window_Navigation = function () { bodavm.envFunc.window_Navigation = function () {
let arg = bodavm.memory.globalobj['Navigation'] let arg = bodavm.memory.globalobj['Navigation']
arg._boarg= bodaobj.window['Navigation']
console.log(`window_Navigation `, `res -> ${arg}`); console.log(`window_Navigation `, `res -> ${arg}`);
return arg return arg
} }
bodavm.envFunc.window_VisualViewport = function () { bodavm.envFunc.window_VisualViewport = function () {
let arg = bodavm.memory.globalobj['VisualViewport'] let arg = bodavm.memory.globalobj['VisualViewport']
arg._boarg= bodaobj.window['VisualViewport']
console.log(`window_VisualViewport `, `res -> ${arg}`); console.log(`window_VisualViewport `, `res -> ${arg}`);
return arg return arg
} }
bodavm.envFunc.window_History = function () { bodavm.envFunc.window_History = function () {
let arg = bodavm.memory.globalobj['History'] let arg = bodavm.memory.globalobj['History']
arg._boarg= bodaobj.window['History']
console.log(`window_History `, `res -> ${arg}`); console.log(`window_History `, `res -> ${arg}`);
return arg return arg
} }
bodavm.envFunc.window_IDBFactory = function () { bodavm.envFunc.window_IDBFactory = function () {
let arg = bodavm.memory.globalobj['IDBFactory'] let arg = bodavm.memory.globalobj['IDBFactory']
arg._boarg= bodaobj.window['IDBFactory']
console.log(`window_IDBFactory `, `res -> ${arg}`); console.log(`window_IDBFactory `, `res -> ${arg}`);
return arg return arg
} }
bodavm.envFunc.window_TrustedTypePolicyFactory = function () { bodavm.envFunc.window_TrustedTypePolicyFactory = function () {
let arg = bodavm.memory.globalobj['TrustedTypePolicyFactory'] let arg = bodavm.memory.globalobj['TrustedTypePolicyFactory']
arg._boarg= bodaobj.window['TrustedTypePolicyFactory']
console.log(`window_TrustedTypePolicyFactory `, `res -> ${arg}`); console.log(`window_TrustedTypePolicyFactory `, `res -> ${arg}`);
return arg return arg
} }
bodavm.envFunc.window_External = function () { bodavm.envFunc.window_External = function () {
let arg = bodavm.memory.globalobj['External'] let arg = bodavm.memory.globalobj['External']
arg._boarg= bodaobj.window['External']
console.log(`window_External `, `res -> ${arg}`); console.log(`window_External `, `res -> ${arg}`);
return arg return arg
} }
bodavm.envFunc.window_CacheStorage = function () { bodavm.envFunc.window_CacheStorage = function () {
let arg = bodavm.memory.globalobj['CacheStorage'] let arg = bodavm.memory.globalobj['CacheStorage']
arg._boarg= bodaobj.window['CacheStorage']
console.log(`window_CacheStorage `, `res -> ${arg}`); console.log(`window_CacheStorage `, `res -> ${arg}`);
return arg return arg
} }
@ -1106,30 +1165,35 @@
bodavm.envFunc.window_CustomElementRegistry = function () { bodavm.envFunc.window_CustomElementRegistry = function () {
let arg = bodavm.memory.globalobj['CustomElementRegistry'] let arg = bodavm.memory.globalobj['CustomElementRegistry']
arg._boarg= bodaobj.window['CustomElementRegistry']
console.log(`window_CustomElementRegistry `, `res -> ${arg}`); console.log(`window_CustomElementRegistry `, `res -> ${arg}`);
return arg return arg
} }
bodavm.envFunc.window_Window = function () { bodavm.envFunc.window_Window = function () {
let arg = bodavm.memory.globalobj['Window'] let arg = bodavm.memory.globalobj['Window']
arg._boarg= bodaobj.window['Window']
console.log(`window_Window `, `res -> ${arg}`); console.log(`window_Window `, `res -> ${arg}`);
return arg return arg
} }
bodavm.envFunc.window_Screen = function () { bodavm.envFunc.window_Screen = function () {
let arg = bodavm.memory.globalobj['Screen'] let arg = bodavm.memory.globalobj['Screen']
arg._boarg= bodaobj.window['Screen']
console.log(`window_Screen `, `res -> ${arg}`); console.log(`window_Screen `, `res -> ${arg}`);
return arg return arg
} }
bodavm.envFunc.window_Navigator = function () { bodavm.envFunc.window_Navigator = function () {
let arg = bodavm.memory.globalobj['Navigator'] let arg = bodavm.memory.globalobj['Navigator']
arg._boarg= bodaobj.window['Navigator']
console.log(`window_Navigator `, `res -> ${arg}`); console.log(`window_Navigator `, `res -> ${arg}`);
return arg return arg
} }
bodavm.envFunc.window_Performance = function () { bodavm.envFunc.window_Performance = function () {
let arg = bodavm.memory.globalobj['Performance'] let arg = bodavm.memory.globalobj['Performance']
arg._boarg= bodaobj.window['Performance']
console.log(`window_Performance `, `res -> ${arg}`); console.log(`window_Performance `, `res -> ${arg}`);
return arg return arg
@ -1137,46 +1201,58 @@
bodavm.envFunc.window_BarProp = function () { bodavm.envFunc.window_BarProp = function () {
let arg = bodavm.memory.globalobj['BarProp'] let arg = bodavm.memory.globalobj['BarProp']
arg._boarg= bodaobj.window['BarProp']
console.log(`window_BarProp `, `res -> ${arg}`); console.log(`window_BarProp `, `res -> ${arg}`);
return arg return arg
} }
bodavm.envFunc.window_Location = function () { bodavm.envFunc.window_Location = function () {
let arg = bodavm.memory.globalobj['Location'] let arg = bodavm.memory.globalobj['Location']
arg._boarg= bodaobj.window['Location']
console.log(`window_Location `, `res -> ${arg}`); console.log(`window_Location `, `res -> ${arg}`);
return arg return arg
} }
bodavm.envFunc.window_Document = function () { bodavm.envFunc.window_Document = function () {
let arg = bodavm.memory.globalobj['Document'] let arg = bodavm.memory.globalobj['Document']
arg._boarg= bodaobj.window['Document']
console.log(`window_Document `, `res -> ${arg}`); console.log(`window_Document `, `res -> ${arg}`);
return arg return arg
} }
bodavm.envFunc.window_webkitStorageInfo_get = function () { bodavm.envFunc.window_webkitStorageInfo_get = function () {
let webkitStorageInfo_ = bodavm.memory.globalobj['webkitStorageInfo'] let webkitStorageInfo_ = bodavm.memory.globalobj['webkitStorageInfo']
webkitStorageInfo_._boarg= bodaobj.window['webkitStorageInfo']
console.log(`window_webkitStorageInfo_get `, `webkitStorageInfo->`, webkitStorageInfo_); console.log(`window_webkitStorageInfo_get `, `webkitStorageInfo->`, webkitStorageInfo_);
return webkitStorageInfo_ return webkitStorageInfo_
} }
bodavm.envFunc.window_navigation_get = function () { bodavm.envFunc.window_navigation_get = function () {
let navigation_ = bodavm.memory.globalobj['navigation'] let navigation_ = bodavm.memory.globalobj['navigation']
navigation_._boarg= bodaobj.window['navigation']
console.log(`window_navigation_get `, `navigation->`, navigation_); console.log(`window_navigation_get `, `navigation->`, navigation_);
return navigation_ return navigation_
} }
bodavm.envFunc.window_performance_get = function () { bodavm.envFunc.window_performance_get = function () {
let perf = bodavm.memory.globalobj['performance'] let perf = bodavm.memory.globalobj['performance']
perf._boarg= bodaobj.window['performance']
console.log(`window_performance_get `, `performance->`, perf); console.log(`window_performance_get `, `performance->`, perf);
debugger // debugger
return perf return perf
} }
bodavm.envFunc.window_navigator_get = function () { bodavm.envFunc.window_navigator_get = function () {
let navigator_ = bodavm.memory.globalobj.navigator let navigator_ = bodavm.memory.globalobj.navigator
console.log(`window_navigator_get `, `navigator->`, navigator_); console.log(`window_navigator_get `, `navigator->`, navigator_);
navigator_._boarg= bodaobj.window['navigator']
return navigator_ return navigator_
} }
bodavm.envFunc.window_customElements_get = function () { bodavm.envFunc.window_customElements_get = function () {
let customElements_ = bodavm.memory.globalobj.customElements let customElements_ = bodavm.memory.globalobj.customElements
customElements_._boarg= bodaobj.window['customElements']
console.log(`window_customElements_get `, `customElements->`, customElements_); console.log(`window_customElements_get `, `customElements->`, customElements_);
return customElements_ return customElements_
@ -1184,6 +1260,7 @@
bodavm.envFunc.window_screen_get = function () { bodavm.envFunc.window_screen_get = function () {
let screen_ = bodavm.memory.globalobj.screen let screen_ = bodavm.memory.globalobj.screen
console.log(`window_screen_get `, `screen->`, screen_); console.log(`window_screen_get `, `screen->`, screen_);
screen_._boarg= bodaobj.window['screen']
return screen_ return screen_
} }
@ -1192,47 +1269,59 @@
bodavm.envFunc.window_history_get = function () { bodavm.envFunc.window_history_get = function () {
let history_ = bodavm.memory.globalobj.history let history_ = bodavm.memory.globalobj.history
console.log(`window_history_get `, `history->`, history_); console.log(`window_history_get `, `history->`, history_);
history_._boarg= bodaobj.window['history']
return history_ return history_
} }
bodavm.envFunc.window_localStorage_get = function window_localStorage_get() { bodavm.envFunc.window_localStorage_get = function window_localStorage_get() {
let localStorage_ = bodavm.memory.globalobj.localStorage let localStorage_ = bodavm.memory.globalobj.localStorage
console.log(`window_localStorage_get `, `localStorage->`, localStorage_); console.log(`window_localStorage_get `, `localStorage->`, localStorage_);
localStorage_._boarg= bodaobj.window['localStorage']
return localStorage_ return localStorage_
} }
bodavm.envFunc.window_indexedDB_get = function window_indexedDB_get() { bodavm.envFunc.window_indexedDB_get = function window_indexedDB_get() {
let indexedDB_ = bodavm.memory.globalobj.indexedDB let indexedDB_ = bodavm.memory.globalobj.indexedDB
console.log(`window_indexedDB_get `, `indexedDB->`, indexedDB_); console.log(`window_indexedDB_get `, `indexedDB->`, indexedDB_);
indexedDB_._boarg= bodaobj.window['indexedDB']
return indexedDB_ return indexedDB_
} }
bodavm.envFunc.window_sessionStorage_get = function window_sessionStorage_get() { bodavm.envFunc.window_sessionStorage_get = function window_sessionStorage_get() {
let sessionStorage_ = bodavm.memory.globalobj.sessionStorage let sessionStorage_ = bodavm.memory.globalobj.sessionStorage
console.log(`window_sessionStorage_get `, `sessionStorage->`, sessionStorage_); console.log(`window_sessionStorage_get `, `sessionStorage->`, sessionStorage_);
sessionStorage_._boarg= bodaobj.window['sessionStorage']
return sessionStorage_ return sessionStorage_
} }
bodavm.envFunc.window_crypto_get = function window_crypto_get() { bodavm.envFunc.window_crypto_get = function window_crypto_get() {
let crypto_ = bodavm.memory.globalobj.crypto let crypto_ = bodavm.memory.globalobj.crypto
// crypto_._boarg= globalobj.window['crypto']
console.log(`window_crypto_get `, `crypto->`, crypto_); console.log(`window_crypto_get `, `crypto->`, crypto_);
return crypto_ return crypto_
} }
bodavm.envFunc.window_document_get = function window_document_get() { bodavm.envFunc.window_document_get = function window_document_get() {
// debugger // debugger
let document_ = bodavm.memory.globalobj.document let document_ = bodavm.memory.globalobj.document
document_._boarg= bodaobj.window['document']
console.log(`window_document_get `, `document->`, document_); console.log(`window_document_get `, `document->`, document_);
return document_ return document_
} }
bodavm.envFunc.window_location_get = function window_location_get() { bodavm.envFunc.window_location_get = function window_location_get() {
// debugger // debugger
let location_ = bodavm.memory.globalobj.location let location_ = bodavm.memory.globalobj.location
location_._boarg= bodaobj.window['location']
console.log(`window_location_get `, `location_->`, location_); console.log(`window_location_get `, `location_->`, location_);
return location_ return location_
} }
bodavm.envFunc.window_clientInformation_get = function window_clientInformation_get() { bodavm.envFunc.window_clientInformation_get = function window_clientInformation_get() {
// debugger // debugger
let res = navigator let res = navigator
res._boarg= bodaobj.window['navigator']
console.log(`window_clientInformation_get `, `res- >${res}`); console.log(`window_clientInformation_get `, `res- >${res}`);
return res return res
} }
@ -1761,7 +1850,9 @@
} }
bodavm.envFunc.window_length_get = function window_length_get() { bodavm.envFunc.window_length_get = function window_length_get() {
let _length = bodaobj.window.length; let _length = bodaobj.window.length;
console.log(`window_length_get `, ` 返回的为jsdom中的window.length ->${_length}`);
console.log(`window_length_get `, ` length ->${_length} boss直聘检测`);
return _length return _length
} }
bodavm.envFunc.window_onbeforeunload_set = function window_onbeforeunload_set() { bodavm.envFunc.window_onbeforeunload_set = function window_onbeforeunload_set() {
@ -1775,7 +1866,7 @@
let arg2 = arguments[2] let arg2 = arguments[2]
let arg3 = arguments[2] let arg3 = arguments[2]
// let openDatabase // let openDatabase
debugger // debugger
let database=bodavm.memory.globalobj['database'] let database=bodavm.memory.globalobj['database']
console.log(`window_openDatabase `, `->${arg}->${arg1}->${arg2}->${arg3} database`); console.log(`window_openDatabase `, `->${arg}->${arg1}->${arg2}->${arg3} database`);
return database return database
@ -1944,7 +2035,7 @@
for (let i = 2; i < length; i++) { for (let i = 2; i < length; i++) {
argList.push(arguments[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 bodavm.memory.globalInit.timeoutID += 1
let event = { let event = {
@ -2180,7 +2271,11 @@
bodavm.envFunc.Document_onprogress_get = function Document_onprogress_get() { console.log("Document_onprogress_get ", undefined, "!!!!!!!!!未完善!!!!!!!!!!!!") } 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_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_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() { bodavm.envFunc.Document_createEvent = function Document_createEvent() {
// debugger // debugger
let arg = arguments[0].toUpperCase() let arg = arguments[0].toUpperCase()
@ -2200,7 +2295,7 @@
case "TOUCHEVENT": case "TOUCHEVENT":
console.log(`Document_createEvent `, event, ` 该事件只有在触摸平面(触摸屏、触摸板等)才会触发`); 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: default:
console.log(`Document_createEvent `, `${arg} 未实现`); 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_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_isConnected_get = function Node_isConnected_get() { console.log("Node_isConnected_get", undefined, "!!!!!!!!!未完善!!!!!!!!!!!!") }
bodavm.envFunc.Node_nextSibling_get = function Node_nextSibling_get() { bodavm.envFunc.Node_nextSibling_get = function Node_nextSibling_get() {
debugger // debugger
let res = {} let res = {}
_next = this._boarg.nextSibling _next = this._boarg.nextSibling
if (_next == null) { if (_next == null) {
@ -2709,7 +2804,7 @@
} }
bodavm.envFunc.Node_nodeType_get = function Node_nodeType_get() { bodavm.envFunc.Node_nodeType_get = function Node_nodeType_get() {
if (bodavm.config.isdebug) { debugger } if (bodavm.config.isdebug) { debugger }
debugger // debugger
let nodetype = this._boarg.nodeType let nodetype = this._boarg.nodeType
console.log(`Node_nodeType_get `, `nodetype ->${nodetype}`); console.log(`Node_nodeType_get `, `nodetype ->${nodetype}`);
return nodetype return nodetype
@ -2722,7 +2817,7 @@
return nodeName_ return nodeName_
} }
bodavm.envFunc.Node_firstChild_get = function Node_firstChild_get() { bodavm.envFunc.Node_firstChild_get = function Node_firstChild_get() {
debugger // debugger
let res = {} let res = {}
let frist_ = this._boarg.firstChild let frist_ = this._boarg.firstChild
if (frist_) { if (frist_) {
@ -4263,7 +4358,7 @@
'isTrusted': true, 'isTrusted': true,
'target': this '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); bodavm.memory.asyncEvent.listener[type].push(event);
@ -4357,12 +4452,14 @@
if (this._bocanvas) { if (this._bocanvas) {
let res = this._bocanvas.toDataURL() let res = this._bocanvas.toDataURL()
console.log(`HTMLCanvasElement_toDataURL `, `res->${res}`); 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 { } else {
debugger debugger
res = bodavm.memory.userInit.canvas_webgl res = bodavm.memory.userInit.canvas_webgl
console.log(`HTMLCanvasElement_toDataURL `, `res->${res}`); 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 failureCallback = arguments[1]
let options = arguments[3] let options = arguments[3]
if (bodavm.config.isdebug) { debugger }; if (bodavm.config.isdebug) { debugger };
bodavm.toolsFunc.symbolProperty(successCallback) // bodavm.toolsFunc.symbolProperty(successCallback)
bodavm.toolsFunc.symbolProperty(failureCallback) // bodavm.toolsFunc.symbolProperty(failureCallback)
console.log(`RTCPeerConnection_createOffer `, `successCallback->${successCallback} `, `failureCallback->${failureCallback} `, `options->${options},!!!!!!!!!未完善!!!!!!!!!!!! `);
return new Promise((successCallback, failureCallback) => {
}).then(successCallback => { let retSessionDescription = {};
successCallback() retSessionDescription.__proto__ = bodavm.memory.globalobj['RTCSessionDescription'].prototype
}, // debugger
failureCallback => { // bodavm.toolsFunc.symbolProperty(batteryManager)
failureCallback() 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()
// }
// )
} }

View File

@ -1,5 +1,5 @@
// 全局变量初始化 // 全局变量初始化
var mytime_stamp=Date.now() var mytime_stamp = Date.now()
// debugger // debugger
!function () { !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', { 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_ = Date.now
Date.now = function () { 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++ mytime_stamp++
return mytime_stamp return mytime_stamp
} }
bodavm.toolsFunc.safeFunc(Date.now, 'now') bodavm.toolsFunc.safeFunc(Date.now, 'now')
//固定时间值 //固定时间值
Date.prototype.valueOf_=Date.prototype.valueOf Date.prototype.valueOf_ = Date.prototype.valueOf
Date.prototype.valueOf=function valueOf(){ Date.prototype.valueOf = function valueOf() {
console.log(`Date.prototype.valueOf=>被调用 `,`resulit is mytime_stamp:${mytime_stamp}`) console.log(`Date.prototype.valueOf=>被调用 `, `resulit is mytime_stamp:${mytime_stamp}`)
mytime_stamp++ mytime_stamp++
return mytime_stamp return mytime_stamp
} }
@ -31,7 +31,7 @@ var mytime_stamp=Date.now()
Date.prototype.getTime_ = Date.prototype.getTime Date.prototype.getTime_ = Date.prototype.getTime
Date.prototype.getTime = function () { 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++ mytime_stamp++
return mytime_stamp return mytime_stamp
} }
@ -39,7 +39,7 @@ var mytime_stamp=Date.now()
//固定随机值 //固定随机值
Math.random_ = Math.random; Math.random_ = Math.random;
Math.random = function () { 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 return 0.5
} }
bodavm.toolsFunc.safeFunc(Math.random, 'random') bodavm.toolsFunc.safeFunc(Math.random, 'random')
@ -47,125 +47,129 @@ var mytime_stamp=Date.now()
} }
JSON.stringify_bo=JSON.stringify JSON.stringify_bo = JSON.stringify
JSON.stringify=function stringify(){ JSON.stringify = function stringify() {
let arg0=arguments[0] let arg0 = arguments[0]
let arg1=arguments[1] let arg1 = arguments[1]
let arg2 = arguments[2]
if (arg2 = 'bo') {
return JSON.stringify_bo.call(this, arg0, arg1)
}
// debugger // debugger
if (arg0 && arg0.length){ if (arg0 && arg0.length) {
if (arg0.indexOf(console)>-1){ if (arg0.indexOf(console) > -1) {
debugger debugger
console.log('JSON.stringify ',' console',' 检测console'); console.log('JSON.stringify ', ' console', ' 检测console');
arg0[arg0.indexOf(console)]={"memory":{}} arg0[arg0.indexOf(console)] = { "memory": {} }
} }
}else{ } else {
if (arg0 ==console){ if (arg0 == console) {
debugger debugger
console.log('JSON.stringify ',' console',' 检测console'); console.log('JSON.stringify ', ' console', ' 检测console');
return '{"memory":{}}' return '{"memory":{}}'
} }
} }
if (typeof arg0 =='string'){ if (typeof arg0 == 'string') {
console.log(`JSON.stringify `, ` arg0:${arg0.length>20?arg0.substring(0,20)+'...':arg0}`, ` arg1:${arg1}`) console.log(`JSON.stringify `, ` arg0:${arg0.length > 20 ? arg0.substring(0, 20) + '...' : arg0}`, ` arg1:${arg1}`)
}else{ } else {
console.log(`JSON.stringify `, ` arg0:${arg0}`, ` arg1:${arg1}`) 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_bo = JSON.parse
JSON.parse=function parse(){ JSON.parse = function parse() {
let arg0=arguments[0] let arg0 = arguments[0]
let arg1=arguments[1] let arg1 = arguments[1]
console.log(`JSON.parse `,` arg0:${arg0.length>20?arg0.substring(0,20)+'...':arg0}`,` arg1:${arg1}`) console.log(`JSON.parse `, ` arg0:${arg0.length > 20 ? arg0.substring(0, 20) + '...' : arg0}`, ` arg1:${arg1}`)
return JSON.parse_bo.apply(this,arguments) 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_bo = Object.getOwnPropertyDescriptor
Object.getOwnPropertyDescriptor=function getOwnPropertyDescriptor(){ Object.getOwnPropertyDescriptor = function getOwnPropertyDescriptor() {
let obj=arguments[0] let obj = arguments[0]
let prop=arguments[1] let prop = arguments[1]
// debugger // debugger
if (prop =='constructor'){ if (prop == 'constructor') {
// if (obj ==document){debugger} // if (obj ==document){debugger}
return Object.getOwnPropertyDescriptor_bo.apply(this,arguments) return Object.getOwnPropertyDescriptor_bo.apply(this, arguments)
} }
desc_res=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} !!!!检测`); console.log(`Object.getOwnPropertyDescriptor==> `, ` obj:${obj}`, `prop:${prop}`, `res ->${desc_res} !!!!检测`);
return desc_res return desc_res
} }
bodavm.toolsFunc.safefunction(Object.getOwnPropertyDescriptor,'getOwnPropertyDescriptor') bodavm.toolsFunc.safefunction(Object.getOwnPropertyDescriptor, 'getOwnPropertyDescriptor')
Object.getOwnPropertyDescriptors_bo=Object.getOwnPropertyDescriptors Object.getOwnPropertyDescriptors_bo = Object.getOwnPropertyDescriptors
Object.getOwnPropertyDescriptors=function getOwnPropertyDescriptor(){ Object.getOwnPropertyDescriptors = function getOwnPropertyDescriptor() {
let arg0=arguments[0] let arg0 = arguments[0]
debugger debugger
descs_res=Object.getOwnPropertyDescriptors_bo.apply(this,arguments) descs_res = Object.getOwnPropertyDescriptors_bo.apply(this, arguments)
console.log(`Object.getOwnPropertyDescriptors==> `,`arg0:${arg0}`,`res ->${descs_res} !!!!检测`); console.log(`Object.getOwnPropertyDescriptors==> `, `arg0:${arg0}`, `res ->${descs_res} !!!!检测`);
return descs_res return descs_res
} }
bodavm.toolsFunc.safefunction(Object.getOwnPropertyDescriptors,'getOwnPropertyDescriptors') bodavm.toolsFunc.safefunction(Object.getOwnPropertyDescriptors, 'getOwnPropertyDescriptors')
Object.getOwnPropertyNames_bo=Object.getOwnPropertyNames Object.getOwnPropertyNames_bo = Object.getOwnPropertyNames
Object.getOwnPropertyNames=function getOwnPropertyDescriptor(){ Object.getOwnPropertyNames = function getOwnPropertyDescriptor() {
let arg0=arguments[0] let arg0 = arguments[0]
let name_res=Object.getOwnPropertyNames_bo.apply(this,arguments) let name_res = Object.getOwnPropertyNames_bo.apply(this, arguments)
console.log(`Object.getOwnPropertyNames==> `,` arg0:${arg0}`,`name_res->${name_res} !!!检测`); console.log(`Object.getOwnPropertyNames==> `, ` arg0:${arg0}`, `name_res->${name_res} !!!检测`);
return name_res return name_res
} }
bodavm.toolsFunc.safefunction(Object.getOwnPropertyNames,'getOwnPropertyNames') bodavm.toolsFunc.safefunction(Object.getOwnPropertyNames, 'getOwnPropertyNames')
Object.getPrototypeOf_bo=Object.getPrototypeOf Object.getPrototypeOf_bo = Object.getPrototypeOf
Object.getPrototypeOf=function (obj){ Object.getPrototypeOf = function (obj) {
console.log(`Object.getPrototypeOf `,`obj:${obj}`,'!!!!检测'); console.log(`Object.getPrototypeOf `, `obj:${obj}`, '!!!!检测');
return Object.getPrototypeOf_bo.apply(this,arguments) 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_bo = Object.getOwnPropertySymbols
Object.getOwnPropertySymbols=function getOwnPropertySymbols(arg){ Object.getOwnPropertySymbols = function getOwnPropertySymbols(arg) {
let symbols_res=Object.getOwnPropertySymbols_bo.apply(this,arguments) let symbols_res = Object.getOwnPropertySymbols_bo.apply(this, arguments)
console.log('Object.getOwnPropertySymbols ',`arg:${arg}`,`symbols_res ->${symbols_res} !!!!检测`); console.log('Object.getOwnPropertySymbols ', `arg:${arg}`, `symbols_res ->${symbols_res} !!!!检测`);
return symbols_res return symbols_res
} }
bodavm.toolsFunc.safefunction(Object.getOwnPropertySymbols,'getOwnPropertySymbols') bodavm.toolsFunc.safefunction(Object.getOwnPropertySymbols, 'getOwnPropertySymbols')
//Plugin //Plugin
Object.defineProperty_bo=Object.defineProperty Object.defineProperty_bo = Object.defineProperty
Object.defineProperty=function defineProperty(){ Object.defineProperty = function defineProperty() {
// debugger // debugger
let target=arguments[0] let target = arguments[0]
let prop=arguments[1] let prop = arguments[1]
let obj=arguments[2] let obj = arguments[2]
let myfilter=arguments[3] let myfilter = arguments[3]
if (myfilter =='bobo'){return Object.defineProperty_bo.call(this,target,prop,obj)} if (myfilter == 'bobo') { return Object.defineProperty_bo.call(this, target, prop, obj) }
let res=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()}`,`!!!!!检测`) console.log(`Object.defineProperty `, `target ->${(target.toString())}->`, `prop->${(prop.toString())}->`, `obj ->${(obj.toString())}->`, `res ->${res.toString()}`, `!!!!!检测`)
return res return res
} }
bodavm.toolsFunc.safefunction(Object.defineProperty,'defineProperty') bodavm.toolsFunc.safefunction(Object.defineProperty, 'defineProperty')
Object.values_bo=Object.values Object.values_bo = Object.values
Object.values=function values(){ Object.values = function values() {
let res=Object.defineProperty_bo.apply(this,arguments) let res = Object.defineProperty_bo.apply(this, arguments)
console.log(`Object.values `,`ress ->${res} !!!!!!!!!!检测`); console.log(`Object.values `, `ress ->${res} !!!!!!!!!!检测`);
return 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_bo=Object.prototype.hasOwnProperty
@ -179,16 +183,36 @@ var mytime_stamp=Date.now()
// bodavm.toolsFunc.safefunction(Object.prototype.hasOwnProperty,'hasOwnProperty') // bodavm.toolsFunc.safefunction(Object.prototype.hasOwnProperty,'hasOwnProperty')
Object.entries_bo=Object.entries Object.entries_bo = Object.entries
Object.entries=function (){ Object.entries = function () {
let obj=arguments[0] let obj = arguments[0]
let res=Object.entries_bo.call(this,obj) let res = Object.entries_bo.call(this, obj)
console.log(`Object.entries `,`obj ->${obj}`,`res ->${res} !!!!!!检测!!!!`) console.log(`Object.entries `, `obj ->${obj}`, `res ->${res} !!!!!!检测!!!!`)
return 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
// };;
}(); }();

View File

@ -53,7 +53,7 @@ console.log(`===================================================================
// delete DeprecatedStorageInfo // delete DeprecatedStorageInfo
// delete Database; // delete Database;
debugger; // debugger;

View File

@ -317,8 +317,8 @@
} catch (e) { } catch (e) {
// // //
// debugger // // debugger
let log__ = `'[${name}]正在执行,错误信息${e.message}'` let log__ = `'[${name}]正在执行,错误信息${e.message}'`
console.log(log__); console.log(log__);
bodavm.toolsFunc.printLog(log__) bodavm.toolsFunc.printLog(log__)
@ -495,7 +495,8 @@
let e = new Error(); let e = new Error();
e.message = message; e.message = message;
e.name = name; e.name = name;
e.stack = `${name}: ${message}at <anonymous>:1:1` e.stack = `${name}: ${message}
at <anonymous>:1:1`
throw e throw e
} }