dHTML(超文本标记语言) | MDN
这是浏览器没有的东西,如过出现的了。就把这个删除改掉或者直接改为 window
node里是不会有window的直接缺了就直接定义一个
window = this;
这个一般是 document里的东西后面跟上网站本身/zh-CN/docs/Web/API/Document/referrer
document = {
referrer:"https://www.toutiao.com"
}
一般是Location: href 下面的东西 也是填自己这个网页
location ={
href:"https://www.toutiao.com"
}
这是长度的,太多对象都会用到所用VM2模块去处理vm2 - npm npm install vm2
//为了在node里面运行V8的环境
var fs =require('fs'); //引入操作文件的模块
const {VM} = require('vm2'); //生成一个纯净的v8引擎的环境
const vm = new VM();
//引入需要操作的js代码
var data = fs.readFileSync('../babel1_测试/babel测试.js','utf-8')
debugger
vm.run(data); //运行js代码
debugger
//调试版
var fs =require('fs'); //引入操作文件的模块
const {VM,VMScript} =require('vm2');
const file=`${__dirname}/code.js`; //要调试的js
const windowfile=`${__dirname}/window.js`; //补的环境
const script =new VMScript(fs.readFileSync(windowfile)+fs.readFileSync(file),'vm2');
debugger
VM.run(script);
debugger
浏览器的下面的协议在不一定在那个下面
location ={
protocol:"https:";
}
浏览器信息 这个简单
navigator = {
userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36';
}
检查是不是node环境下运行的用vm2可以过 V8下是没有的
检查浏览器插件在Navigator 下面 /zh-CN/docs/Web/API/Navigator
navigator={
plugins =[];
}
浏览器驱动 不是在V8引擎下的
属性名获取是在Object下的一个方法,从原型链上去取的,V8自带的
处理器架构
navigator ={
platform: 'Win32';
}
document = {
cookie = '';
}
//或者这样
window.document.cookie = '值 '
监听事件
document={
createEvent:function(eventname){
//先找到创建了什么事件
console.log(eventname);
return {
//看看有没有调用初始化事件
initEvent:function(x,x1,x2){
console.log('initEvent',x);
},
//监听事件
addEventListener:function(x,x1){
console.log('addEventListener',x,x1)
}
}
}
}
var ccc = document.createElement('canvas');
ccc.toDataURL()
document ={
createElement : function(tagName){
var tag=(tagName + '').toLowerCase();
//假如传入的参数是这个就把正常浏览器返回的那个答案给出去
if(tag=='canvas'){
return {
toDataURL:function(){ return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAABGJJREFUeF7t1AEJAAAMAsHZv/RyPNwSyDncOQIECEQEFskpJgECBM5geQICBDICBitTlaAECBgsP0CAQEbAYGWqEpQAAYPlBwgQyAgYrExVghIgYLD8AAECGQGDlalKUAIEDJYfIEAgI2CwMlUJSoCAwfIDBAhkBAxWpipBCRAwWH6AAIGMgMHKVCUoAQIGyw8QIJARMFiZqgQlQMBg+QECBDICBitTlaAECBgsP0CAQEbAYGWqEpQAAYPlBwgQyAgYrExVghIgYLD8AAECGQGDlalKUAIEDJYfIEAgI2CwMlUJSoCAwfIDBAhkBAxWpipBCRAwWH6AAIGMgMHKVCUoAQIGyw8QIJARMFiZqgQlQMBg+QECBDICBitTlaAECBgsP0CAQEbAYGWqEpQAAYPlBwgQyAgYrExVghIgYLD8AAECGQGDlalKUAIEDJYfIEAgI2CwMlUJSoCAwfIDBAhkBAxWpipBCRAwWH6AAIGMgMHKVCUoAQIGyw8QIJARMFiZqgQlQMBg+QECBDICBitTlaAECBgsP0CAQEbAYGWqEpQAAYPlBwgQyAgYrExVghIgYLD8AAECGQGDlalKUAIEDJYfIEAgI2CwMlUJSoCAwfIDBAhkBAxWpipBCRAwWH6AAIGMgMHKVCUoAQIGyw8QIJARMFiZqgQlQMBg+QECBDICBitTlaAECBgsP0CAQEbAYGWqEpQAAYPlBwgQyAgYrExVghIgYLD8AAECGQGDlalKUAIEDJYfIEAgI2CwMlUJSoCAwfIDBAhkBAxWpipBCRAwWH6AAIGMgMHKVCUoAQIGyw8QIJARMFiZqgQlQMBg+QECBDICBitTlaAECBgsP0CAQEbAYGWqEpQAAYPlBwgQyAgYrExVghIgYLD8AAECGQGDlalKUAIEDJYfIEAgI2CwMlUJSoCAwfIDBAhkBAxWpipBCRAwWH6AAIGMgMHKVCUoAQIGyw8QIJARMFiZqgQlQMBg+QECBDICBitTlaAECBgsP0CAQEbAYGWqEpQAAYPlBwgQyAgYrExVghIgYLD8AAECGQGDlalKUAIEDJYfIEAgI2CwMlUJSoCAwfIDBAhkBAxWpipBCRAwWH6AAIGMgMHKVCUoAQIGyw8QIJARMFiZqgQlQMBg+QECBDICBitTlaAECBgsP0CAQEbAYGWqEpQAAYPlBwgQyAgYrExVghIgYLD8AAECGQGDlalKUAIEDJYfIEAgI2CwMlUJSoCAwfIDBAhkBAxWpipBCRAwWH6AAIGMgMHKVCUoAQIGyw8QIJARMFiZqgQlQMBg+QECBDICBitTlaAECBgsP0CAQEbAYGWqEpQAAYPlBwgQyAgYrExVghIgYLD8AAECGQGDlalKUAIEDJYfIEAgI2CwMlUJSoCAwfIDBAhkBAxWpipBCRAwWH6AAIGMgMHKVCUoAQIGyw8QIJARMFiZqgQlQMBg+QECBDICBitTlaAECBgsP0CAQEbAYGWqEpQAgQdWMQCX4yW9owAAAABJRU5ErkJggg=='}
}
}
return {}
}
}