qxVm/qxVm_sanbox/z_sanbox/qxVm.env.js
Iceland-monsoon 679f61fa08 更新
2023-07-26 15:34:01 +08:00

50 lines
1.8 KiB
JavaScript

const fs = require("fs");
const TOOLS_NODE = require('../env/TOOLS/_qxVm.TOOLS.NODE');
const BASE_OBJ_NODE = require('../env/BASE_CONFIG/_qxVm.BASE_CONFIG.node');
const EVENT_NODE = require('../env/EVENT/_qxVm.EVENT.NODE');
const EVENTTARGET_NODE = require('../env/EVENTTARGET/_qxVm.EVENTTARGET.NODE');
const BOM_NODE = require('../env/BOM/_qxVm.BOM.NODE');
const DOM_NODE = require('../env/DOM/_qxVm.DOM.NODE');
const VM_PROXYOBJ = require('../env/TOOLS/vm_proxyObj');
/*
导包顺序就是继承关系的顺序
*/
function qxVm_env_generate(user_config_str) {
let code = "";
code += `${TOOLS_NODE.Get_tools_node_code()}\r\n`; // 自己封装的工具
code += user_config_str.pop('canvas_str'); // 自定义canvas指纹放到框架内存
code += user_config_str.pop('env_str'); // 自定义浏览器环境放到框架内存
code += user_config_str.pop('plugin_str'); // 自定义浏览器插件放到框架内存
code += `${BASE_OBJ_NODE.Get_baseConfig_node_code()}\r\n`; // base config
code += `${EVENT_NODE.Get_event_node_code()}\r\n` // event相关的Object
code += `${EVENTTARGET_NODE.Get_eventTarget_node_code()}\r\n` // eventTarget相关的Object
code += `${BOM_NODE.Get_Bom_node_code()}\r\n`; // BOM
code += user_config_str.pop('window_attribute_str'); // 初始化 window 属性
code += `${DOM_NODE.Get_Dom_node_code()}\r\n`; // DOM
code += 'lwVm.memory.htmlCollection[0] = new HTMLBodyElement(lwVm.memory.$createObj_key);\r\n\r\n'; // 初始化DOM节点
code += 'lwVm.memory.htmlCollection[1] = new HTMLHeadElement(lwVm.memory.$createObj_key);\r\n\r\n'; // 初始化DOM节点
code += `${VM_PROXYOBJ.vm_proxyObj()}\r\n`; // 设置代理对象
code += `${BASE_OBJ_NODE.Get_frameEnd_code()}\r\n` // 结束的操作
return code
}
module.exports = {
qxVm_env: qxVm_env_generate
};