所有属性值是 __cheng________ 都是我做的防止套代理 非140环境检测代码
这个日志绝大多数 是做和浏览器tostring结果 处理一致
方法: toString 函数: ...... 结果: .....
当前代码补了事件和dom 实际手补 比这少些
下方为环境日志:
VM526 vm.js:848 方法: get 对象: window 属性: UA_Opt 属性值: undefined 属性值类型: undefined
VM526 vm.js:857 方法: set 对象: window 属性: UA_Opt 属性值: {} 属性值类型: object
VM526 vm.js:832 方法: get 对象: window 属性: UA_Opt 属性值: {} 属性值类型: object
VM526 vm.js:848 方法: get 对象: UA_Opt 属性: loadTime 属性值: undefined 属性值类型: undefined
VM526 vm.js:848 方法: get 对象: window 属性: __acjs_awsc_140 属性值: undefined 属性值类型: undefined
VM526 vm.js:848 方法: get 对象: window 属性: __acjs 属性值: undefined 属性值类型: undefined
VM526 vm.js:857 方法: set 对象: window 属性: __acjs 属性值: 1 属性值类型: number
VM526 vm.js:848 方法: get 对象: window 属性: _uab_module 属性值: undefined 属性值类型: undefined
VM526 vm.js:857 方法: set 对象: window 属性: _uab_module 属性值: 1 属性值类型: number
VM526 vm.js:842 方法: get 对象: window 属性: Date 属性值: ƒ Date() { [native code] } 属性值类型: function
方法: construct 函数: Date 传参: [] 结果: Fri Jun 06 2025 17:14:36 GMT+0800 (GMT+08:00)
方法: get 对象: navigator 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: navigator 属性值: Proxy(Navigator) {__cheng________: true} 属性值类型: object
方法: get 对象: navigator 属性: getBattery 属性值: 属性值类型: function
方法: toString 函数: getBattery 结果: function getBattery() { [native code] }
方法: get 对象: navigator 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: navigator 属性值: Proxy(Navigator) {__cheng________: true} 属性值类型: object
方法: get 对象: navigator 属性: getBattery 属性值: 属性值类型: function
方法: toString 函数: getBattery 结果: function getBattery() { [native code] }
setTimeout 0
方法: get 对象: window 属性: chrome 属性值: {runtime: {…}, csi: ƒ, loadTimes: ƒ} 属性值类型: object
方法: get 对象: chrome 属性: history 属性值: undefined 属性值类型: undefined
方法: get 对象: chrome 属性: bookmarks 属性值: undefined 属性值类型: undefined
方法: get 对象: chrome 属性: cookies 属性值: undefined 属性值类型: undefined
方法: get 对象: chrome 属性: system 属性值: undefined 属性值类型: undefined
方法: get 对象: window 属性: Element 属性值: 属性值类型: function
方法: toString 函数: Element 结果: function Element() { [native code] }
方法: get 对象: window 属性: mozPaintCount 属性值: undefined 属性值类型: undefined
方法: get 对象: window 属性: mozInnerScreenX 属性值: undefined 属性值类型: undefined
方法: get 对象: window 属性: Debug 属性值: undefined 属性值类型: undefined
方法: get 对象: window 属性: WebKitPlaybackTargetAvailabilityEvent 属性值: undefined 属性值类型: undefined
方法: get 对象: window 属性: Element 属性值: 属性值类型: function
方法: toString 函数: Element 结果: function Element() { [native code] }
方法: get 对象: window 属性: Element 属性值: 属性值类型: function
方法: toString 函数: Element 结果: function Element() { [native code] }
方法: get 对象: navigator 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: navigator 属性值: Proxy(Navigator) {__cheng________: true} 属性值类型: object
方法: get 对象: document 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: document 属性值: Proxy(HTMLDocument) {__cheng________: true} 属性值类型: object
in检测:'ontouchstart' in document=>>false
方法: get 对象: window 属性: webkitRTCPeerConnection 属性值: 属性值类型: function
方法: toString 函数: RTCPeerConnection 结果: function RTCPeerConnection() { [native code] }
方法: get 对象: navigator 属性: platform 属性值: Win32 属性值类型: string
调用正则的test方法,正则: /arm|iphone|ipad|ipod/i 源字符串: Win32 结果是 false
方法: get 对象: window 属性: Date 属性值: 属性值类型: function
方法: get 对象: window 属性: Promise 属性值: 属性值类型: function
方法: get 对象: window 属性: Promise 属性值: 属性值类型: function
方法: get 对象: window 属性: Date 属性值: 属性值类型: function
方法: get 对象: window 属性: Date 属性值: 属性值类型: function
方法: get 对象: window 属性: origin 属性值: https://xindafengche.souche.com 属性值类型: string
方法: get 对象: window 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: top 属性值: Proxy(Window) {Function: Proxy(Function), Proxy: ƒ, eval: ƒ, e: ƒ, o: ƒ, …} 属性值类型: object
方法: get 对象: window 属性: PointerEvent 属性值: 属性值类型: function
方法: toString 函数: PointerEvent 结果: function PointerEvent() { [native code] }
方法: get 对象: window 属性: PointerEvent 属性值: 属性值类型: function
方法: toString 函数: PointerEvent 结果: function PointerEvent() { [native code] }
方法: get 对象: window 属性: PointerEvent 属性值: 属性值类型: function
方法: toString 函数: PointerEvent 结果: function PointerEvent() { [native code] }
方法: get 对象: window 属性: Function 属性值: Proxy(Function) {length: 1, name: 'Function', prototype: ƒ} 属性值类型: function
方法: construct 函数: Function 传参: ['var a=arguments;return this[a[1]]!==a[0]'] 结果:
方法: get 对象: window 属性: performance 属性值: Performance {} 属性值类型: object
方法: get 对象: window 属性: performance 属性值: Performance {__cheng________: true} 属性值类型: object
方法: get 对象: document 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: document 属性值: Proxy(HTMLDocument) {__cheng________: true} 属性值类型: object
方法: get 对象: window 属性: UA_Opt 属性值: {__cheng________: true} 属性值类型: object
方法: get 对象: window 属性: UA_Opt 属性值: {__cheng________: true} 属性值类型: object
方法: get 对象: document 属性: currentScript 属性值: null 属性值类型: object
方法: get 对象: document 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: document 属性值: Proxy(HTMLDocument) {__cheng________: true} 属性值类型: object
方法: get 对象: document 属性: hidden 属性值: false 属性值类型: boolean
方法: get 对象: document 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: document 属性值: Proxy(HTMLDocument) {__cheng________: true} 属性值类型: object
方法: get 对象: document 属性: createElement 属性值: 属性值类型: function
方法: toString 函数: createElement 结果: function createElement() { [native code] }
createElement canvas
拦截 Map.set -> 设置键: HTMLCanvasElement {} 值: Element {parent: Document, prev: null, next: null, startIndex: null, endIndex: null, …}
拦截 Map.set -> 设置键: HTMLCanvasElement {} 值: Canvas {type: 'image', stride: 0, width: 0, height: 0}
canvas .setAttribute( width 300 )
canvas .setAttribute( height 150 )
方法: apply 函数: createElement 传参: ['canvas'] 结果: HTMLCanvasElement {}
方法: get 对象: createElement的返回值 属性: getContext 属性值: 属性值类型: function
方法: toString 函数: getContext 结果: function getContext() { [native code] }
方法: get 对象: createElement的返回值 属性: getContext 属性值: 属性值类型: function
方法: toString 函数: getContext 结果: function getContext() { [native code] }
方法: get 对象: createElement的返回值 属性: getContext 属性值: 属性值类型: function
方法: toString 函数: getContext 结果: function getContext() { [native code] }
方法: get 对象: window 属性: mozInnerScreenX 属性值: undefined 属性值类型: undefined
方法: get 对象: window 属性: WebKitPlaybackTargetAvailabilityEvent 属性值: undefined 属性值类型: undefined
方法: get 对象: window 属性: mozPaintCount 属性值: undefined 属性值类型: undefined
方法: get 对象: document 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: document 属性值: Proxy(HTMLDocument) {__cheng________: true} 属性值类型: object
方法: get 对象: window 属性: Debug 属性值: undefined 属性值类型: undefined
方法: get 对象: location 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: location 属性值: Proxy(Location) {…} 属性值类型: object
方法: get 对象: navigator 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: navigator 属性值: Proxy(Navigator) {__cheng________: true} 属性值类型: object
方法: get 对象: window 属性: WindVane 属性值: undefined 属性值类型: undefined
方法: get 对象: window 属性: WeixinJSBridge 属性值: undefined 属性值类型: undefined
方法: get 对象: window 属性: __wxjs_environment 属性值: undefined 属性值类型: undefined
方法: get 对象: window 属性: Element 属性值: 属性值类型: function
方法: toString 函数: Element 结果: function Element() { [native code] }
方法: get 对象: location 属性: href 属性值: https://xindafengche.souche.com/#/login?action=accountLogin 属性值类型: string
方法: get 对象: window 属性: AlipayJSBridge 属性值: undefined 属性值类型: undefined
方法: get 对象: window 属性: __wxjs_environment 属性值: undefined 属性值类型: undefined
方法: get 对象: window 属性: Element 属性值: 属性值类型: function
方法: toString 函数: Element 结果: function Element() { [native code] }
方法: get 对象: navigator 属性: buildID 属性值: undefined 属性值类型: undefined
方法: get 对象: window 属性: Element 属性值: 属性值类型: function
方法: toString 函数: Element 结果: function Element() { [native code] }
方法: get 对象: window 属性: webkitRTCPeerConnection 属性值: 属性值类型: function
方法: toString 函数: RTCPeerConnection 结果: function RTCPeerConnection() { [native code] }
方法: get 对象: window 属性: ScriptEngineBuildVersion 属性值: undefined 属性值类型: undefined
方法: get 对象: window 属性: ScriptEngineMajorVersion 属性值: undefined 属性值类型: undefined
方法: get 对象: window 属性: ScriptEngineMinorVersion 属性值: undefined 属性值类型: undefined
方法: get 对象: window 属性: hasOwnProperty 属性值: 属性值类型: function
方法: get 对象: window 属性: Symbol 属性值: 属性值类型: function
方法: get 对象: window 属性: Symbol 属性值: 属性值类型: function
方法: get 对象: window 属性: Symbol 属性值: 属性值类型: function
方法: get 对象: window 属性: hasOwnProperty 属性值: 属性值类型: function
方法: get 对象: window 属性: Symbol 属性值: 属性值类型: function
方法: get 对象: window 属性: Symbol 属性值: 属性值类型: function
方法: get 对象: window 属性: WeakMap 属性值: 属性值类型: function
方法: get 对象: window 属性: WeakMap 属性值: 属性值类型: function
方法: get 对象: window 属性: Symbol 属性值: 属性值类型: function
方法: get 对象: window 属性: Symbol 属性值: 属性值类型: function
方法: get 对象: window 属性: Symbol 属性值: 属性值类型: function
方法: get 对象: window 属性: DOMTokenList 属性值: 属性值类型: function
方法: toString 函数: DOMTokenList 结果: function DOMTokenList() { [native code] }
方法: get 对象: window 属性: DOMTokenList 属性值: 属性值类型: function
方法: toString 函数: DOMTokenList 结果: function DOMTokenList() { [native code] }
方法: get 对象: window 属性: Symbol 属性值: 属性值类型: function
方法: get 对象: window 属性: hasOwnProperty 属性值: 属性值类型: function
方法: get 对象: window 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: self 属性值: Proxy(Window) {Function: Proxy(Function), Proxy: ƒ, eval: ƒ, e: ƒ, o: ƒ, …} 属性值类型: object
方法: get 对象: window 属性: hasOwnProperty 属性值: 属性值类型: function
方法: get 对象: window 属性: PerformanceTiming 属性值: undefined 属性值类型: undefined
方法: get 对象: window 属性: hasOwnProperty 属性值: 属性值类型: function
方法: get 对象: window 属性: HTMLDocument 属性值: 属性值类型: function
方法: toString 函数: HTMLDocument 结果: function HTMLDocument() { [native code] }
方法: get 对象: window 属性: HTMLMediaElement 属性值: 属性值类型: function
方法: toString 函数: HTMLMediaElement 结果: function HTMLMediaElement() { [native code] }
方法: get 对象: window 属性: HTMLDocument 属性值: 属性值类型: function
方法: toString 函数: HTMLDocument 结果: function HTMLDocument() { [native code] }
方法: get 对象: window 属性: HTMLMediaElement 属性值: 属性值类型: function
方法: toString 函数: HTMLMediaElement 结果: function HTMLMediaElement() { [native code] }
方法: get 对象: window 属性: hasOwnProperty 属性值: 属性值类型: function
方法: get 对象: window 属性: hasOwnProperty 属性值: 属性值类型: function
方法: get 对象: window 属性: Symbol 属性值: 属性值类型: function
方法: get 对象: window 属性: PointerEvent 属性值: 属性值类型: function
方法: toString 函数: PointerEvent 结果: function PointerEvent() { [native code] }
方法: get 对象: window 属性: Symbol 属性值: 属性值类型: function
方法: get 对象: window 属性: Object 属性值: 属性值类型: function
方法: get 对象: window 属性: OfflineAudioContext 属性值: 属性值类型: function
方法: toString 函数: OfflineAudioContext 结果: function OfflineAudioContext() { [native code] }
方法: get 对象: window 属性: OfflineAudioContext 属性值: 属性值类型: function
方法: toString 函数: OfflineAudioContext 结果: function OfflineAudioContext() { [native code] }
方法: get 对象: window 属性: Symbol 属性值: 属性值类型: function
方法: get 对象: document 属性: createElement 属性值: 属性值类型: function
方法: toString 函数: createElement 结果: function createElement() { [native code] }
createElement canvas
拦截 Map.set -> 设置键: HTMLCanvasElement {} 值: Element {parent: Document, prev: null, next: null, startIndex: null, endIndex: null, …}
拦截 Map.set -> 设置键: HTMLCanvasElement {} 值: Canvas {type: 'image', stride: 0, width: 0, height: 0}
canvas .setAttribute( width 300 )
canvas .setAttribute( height 150 )
方法: get 对象: document 属性: wasDiscarded 属性值: false 属性值类型: boolean
方法: get 对象: window 属性: Object 属性值: 属性值类型: function
方法: get 对象: window 属性: PointerEvent 属性值: 属性值类型: function
方法: toString 函数: PointerEvent 结果: function PointerEvent() { [native code] }
方法: get 对象: window 属性: hasOwnProperty 属性值: 属性值类型: function
方法: get 对象: window 属性: Intl 属性值: Intl {getCanonicalLocales: ƒ, supportedValuesOf: ƒ, DateTimeFormat: ƒ, NumberFormat: ƒ, Collator: ƒ, …} 属性值类型: object
方法: get 对象: window 属性: Intl 属性值: Intl {__cheng________: true, getCanonicalLocales: ƒ, supportedValuesOf: ƒ, DateTimeFormat: ƒ, NumberFormat: ƒ, …} 属性值类型: object
方法: get 对象: window 属性: performance 属性值: Performance {__cheng________: true} 属性值类型: object
方法: get 对象: window 属性: performance 属性值: Performance {__cheng________: true} 属性值类型: object
方法: get 对象: window 属性: Intl 属性值: Intl {__cheng________: true, getCanonicalLocales: ƒ, supportedValuesOf: ƒ, DateTimeFormat: ƒ, NumberFormat: ƒ, …} 属性值类型: object
方法: get 对象: window 属性: hasOwnProperty 属性值: 属性值类型: function
方法: get 对象: window 属性: hasOwnProperty 属性值: 属性值类型: function
方法: get 对象: window 属性: hasOwnProperty 属性值: 属性值类型: function
方法: get 对象: window 属性: hasOwnProperty 属性值: 属性值类型: function
方法: get 对象: window 属性: hasOwnProperty 属性值: 属性值类型: function
方法: get 对象: window 属性: Object 属性值: 属性值类型: function
方法: get 对象: window 属性: Intl 属性值: Intl {__cheng________: true, getCanonicalLocales: ƒ, supportedValuesOf: ƒ, DateTimeFormat: ƒ, NumberFormat: ƒ, …} 属性值类型: object
方法: get 对象: window 属性: Promise 属性值: 属性值类型: function
方法: get 对象: window 属性: MediaStreamTrack 属性值: 属性值类型: function
方法: toString 函数: MediaStreamTrack 结果: function MediaStreamTrack() { [native code] }
方法: get 对象: window 属性: Promise 属性值: 属性值类型: function
方法: get 对象: window 属性: Intl 属性值: Intl {__cheng________: true, getCanonicalLocales: ƒ, supportedValuesOf: ƒ, DateTimeFormat: ƒ, NumberFormat: ƒ, …} 属性值类型: object
方法: get 对象: window 属性: MediaStreamTrack 属性值: 属性值类型: function
方法: toString 函数: MediaStreamTrack 结果: function MediaStreamTrack() { [native code] }
方法: get 对象: window 属性: Intl 属性值: Intl {__cheng________: true, getCanonicalLocales: ƒ, supportedValuesOf: ƒ, DateTimeFormat: ƒ, NumberFormat: ƒ, …} 属性值类型: object
方法: get 对象: window 属性: Intl 属性值: Intl {__cheng________: true, getCanonicalLocales: ƒ, supportedValuesOf: ƒ, DateTimeFormat: ƒ, NumberFormat: ƒ, …} 属性值类型: object
方法: get 对象: window 属性: Intl 属性值: Intl {__cheng________: true, getCanonicalLocales: ƒ, supportedValuesOf: ƒ, DateTimeFormat: ƒ, NumberFormat: ƒ, …} 属性值类型: object
方法: get 对象: window 属性: Intl 属性值: Intl {__cheng________: true, getCanonicalLocales: ƒ, supportedValuesOf: ƒ, DateTimeFormat: ƒ, NumberFormat: ƒ, …} 属性值类型: object
方法: get 对象: window 属性: Promise 属性值: 属性值类型: function
方法: get 对象: window 属性: hasOwnProperty 属性值: 属性值类型: function
方法: get 对象: document 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: document 属性值: Proxy(HTMLDocument) {__cheng________: true} 属性值类型: object
方法: get 对象: navigator 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: navigator 属性值: Proxy(Navigator) {__cheng________: true} 属性值类型: object
in检测:'ontouchstart' in document=>>false
方法: get 对象: window 属性: Object 属性值: 属性值类型: function
方法: get 对象: window 属性: Debug 属性值: undefined 属性值类型: undefined
方法: get 对象: window 属性: Object 属性值: 属性值类型: function
方法: get 对象: window 属性: addEventListener 属性值: 属性值类型: function
方法: toString 函数: addEventListener 结果: function addEventListener() { [native code] }
给 Proxy(Window) {Function: Proxy(Function), Proxy: ƒ, eval: ƒ, e: ƒ, o: ƒ, …} 增加了事件监听, 事件是 test
拦截 Map.set -> 设置键: Proxy(Window) {Function: Proxy(Function), Proxy: ƒ, eval: ƒ, e: ƒ, o: ƒ, …} 值: {test: Array(1)}
方法: apply 函数: addEventListener 传参: (3) ['test', {…}, {…}] 结果: undefined
方法: get 对象: window 属性: removeEventListener 属性值: 属性值类型: function
方法: toString 函数: removeEventListener 结果: function removeEventListener() { [native code] }
方法: apply 函数: removeEventListener 传参: (3) ['test', {…}, {…}] 结果: undefined
方法: get 对象: window 属性: attachEvent 属性值: undefined 属性值类型: undefined
方法: get 对象: window 属性: addEventListener 属性值: 属性值类型: function
方法: toString 函数: addEventListener 结果: function addEventListener() { [native code] }
方法: get 对象: window 属性: DeviceMotionEvent 属性值: 属性值类型: function
方法: toString 函数: DeviceMotionEvent 结果: function DeviceMotionEvent() { [native code] }
方法: get 对象: window 属性: addEventListener 属性值: 属性值类型: function
方法: toString 函数: addEventListener 结果: function addEventListener() { [native code] }
给 Proxy(Window) {Function: Proxy(Function), Proxy: ƒ, eval: ƒ, e: ƒ, o: ƒ, …} 增加了事件监听, 事件是 deviceorientation
方法: get 对象: document 属性: attachEvent 属性值: undefined 属性值类型: undefined
方法: get 对象: document 属性: addEventListener 属性值: 属性值类型: function
方法: toString 函数: addEventListener 结果: function addEventListener() { [native code] }
VM526 vm.js:848 方法: get 对象: document 属性: addEventListener 属性值: ƒ addEventListener(type, func) {
if (this instanceof EventTarget) {
my_env.cheng_lin("给",this,"增加了事件监听, 事件是", type);
// btn.addEventListener("click", func)
… 属性值类型: function
VM526 vm.js:1014 方法: toString 函数: addEventListener 结果: function addEventListener() { [native code] }
VM526 vm.js:1301 给 Proxy(HTMLDocument) {__cheng________: true} 增加了事件监听, 事件是 mousedown
VM526 vm.js:28 拦截 Map.set -> 设置键: Proxy(HTMLDocument) {__cheng________: true} 值: {mousedown: Array(1)}
VM526 vm.js:848 方法: get 对象: document 属性: attachEvent 属性值: undefined 属性值类型: undefined
VM526 vm.js:848 方法: get 对象: document 属性: addEventListener 属性值: ƒ addEventListener(type, func) {
if (this instanceof EventTarget) {
my_env.cheng_lin("给",this,"增加了事件监听, 事件是", type);
// btn.addEventListener("click", func)
… 属性值类型: function
VM526 vm.js:1014 方法: toString 函数: addEventListener 结果: function addEventListener() { [native code] }
VM526 vm.js:848 方法: get 对象: document 属性: addEventListener 属性值: ƒ addEventListener(type, func) {
if (this instanceof EventTarget) {
my_env.cheng_lin("给",this,"增加了事件监听, 事件是", type);
// btn.addEventListener("click", func)
… 属性值类型: function
VM526 vm.js:1014 方法: toString 函数: addEventListener 结果: function addEventListener() { [native code] }
VM526 vm.js:1301 给 Proxy(HTMLDocument) {__cheng________: true} 增加了事件监听, 事件是 mouseup
VM526 vm.js:848 方法: get 对象: document 属性: attachEvent 属性值: undefined 属性值类型: undefined
VM526 vm.js:848 方法: get 对象: document 属性: addEventListener 属性值: ƒ addEventListener(type, func) {
if (this instanceof EventTarget) {
my_env.cheng_lin("给",this,"增加了事件监听, 事件是", type);
// btn.addEventListener("click", func)
… 属性值类型: function
VM526 vm.js:1014 方法: toString 函数: addEventListener 结果: function addEventListener() { [native code] }
VM526 vm.js:848 方法: get 对象: document 属性: addEventListener 属性值: ƒ addEventListener(type, func) {
if (this instanceof EventTarget) {
my_env.cheng_lin("给",this,"增加了事件监听, 事件是", type);
// btn.addEventListener("click", func)
… 属性值类型: function
VM526 vm.js:1014 方法: toString 函数: addEventListener 结果: function addEventListener() { [native code] }
VM526 vm.js:1301 给 Proxy(HTMLDocument) {__cheng________: true} 增加了事件监听, 事件是 mousemove
VM526 vm.js:848 方法: get 对象: document 属性: attachEvent 属性值: undefined 属性值类型: undefined
VM526 vm.js:848 方法: get 对象: document 属性: addEventListener 属性值: ƒ addEventListener(type, func) {
if (this instanceof EventTarget) {
my_env.cheng_lin("给",this,"增加了事件监听, 事件是", type);
// btn.addEventListener("click", func)
… 属性值类型: function
VM526 vm.js:1014 方法: toString 函数: addEventListener 结果: function addEventListener() { [native code] }
VM526 vm.js:848 方法: get 对象: document 属性: addEventListener 属性值: ƒ addEventListener(type, func) {
if (this instanceof EventTarget) {
my_env.cheng_lin("给",this,"增加了事件监听, 事件是", type);
// btn.addEventListener("click", func)
… 属性值类型: function
VM526 vm.js:1014 方法: toString 函数: addEventListener 结果: function addEventListener() { [native code] }
VM526 vm.js:1301 给 Proxy(HTMLDocument) {__cheng________: true} 增加了事件监听, 事件是 click
VM526 vm.js:848 方法: get 对象: document 属性: attachEvent 属性值: undefined 属性值类型: undefined
VM526 vm.js:848 方法: get 对象: document 属性: addEventListener 属性值: ƒ addEventListener(type, func) {
if (this instanceof EventTarget) {
my_env.cheng_lin("给",this,"增加了事件监听, 事件是", type);
// btn.addEventListener("click", func)
… 属性值类型: function
VM526 vm.js:1014 方法: toString 函数: addEventListener 结果: function addEventListener() { [native code] }
VM526 vm.js:848 方法: get 对象: document 属性: addEventListener 属性值: ƒ addEventListener(type, func) {
if (this instanceof EventTarget) {
my_env.cheng_lin("给",this,"增加了事件监听, 事件是", type);
// btn.addEventListener("click", func)
… 属性值类型: function
VM526 vm.js:1014 方法: toString 函数: addEventListener 结果: function addEventListener() { [native code] }
VM526 vm.js:1301 给 Proxy(HTMLDocument) {__cheng________: true} 增加了事件监听, 事件是 keyup
VM526 vm.js:848 方法: get 对象: document 属性: attachEvent 属性值: undefined 属性值类型: undefined
VM526 vm.js:848 方法: get 对象: document 属性: addEventListener 属性值: ƒ addEventListener(type, func) {
if (this instanceof EventTarget) {
my_env.cheng_lin("给",this,"增加了事件监听, 事件是", type);
// btn.addEventListener("click", func)
… 属性值类型: function
VM526 vm.js:1014 方法: toString 函数: addEventListener 结果: function addEventListener() { [native code] }
VM526 vm.js:848 方法: get 对象: document 属性: addEventListener 属性值: ƒ addEventListener(type, func) {
if (this instanceof EventTarget) {
my_env.cheng_lin("给",this,"增加了事件监听, 事件是", type);
// btn.addEventListener("click", func)
… 属性值类型: function
VM526 vm.js:1014 方法: toString 函数: addEventListener 结果: function addEventListener() { [native code] }
VM526 vm.js:1301 给 Proxy(HTMLDocument) {__cheng________: true} 增加了事件监听, 事件是 focus
VM526 vm.js:848 方法: get 对象: document 属性: attachEvent 属性值: undefined 属性值类型: undefined
VM526 vm.js:848 方法: get 对象: document 属性: addEventListener 属性值: ƒ addEventListener(type, func) {
if (this instanceof EventTarget) {
my_env.cheng_lin("给",this,"增加了事件监听, 事件是", type);
// btn.addEventListener("click", func)
… 属性值类型: function
VM526 vm.js:1014 方法: toString 函数: addEventListener 结果: function addEventListener() { [native code] }
VM526 vm.js:848 方法: get 对象: document 属性: addEventListener 属性值: ƒ addEventListener(type, func) {
if (this instanceof EventTarget) {
my_env.cheng_lin("给",this,"增加了事件监听, 事件是", type);
// btn.addEventListener("click", func)
… 属性值类型: function
VM526 vm.js:1014 方法: toString 函数: addEventListener 结果: function addEventListener() { [native code] }
VM526 vm.js:1301 给 Proxy(HTMLDocument) {__cheng________: true} 增加了事件监听, 事件是 blur
VM526 vm.js:848 方法: get 对象: navigator 属性: __cheng________ 属性值: true 属性值类型: boolean
VM526 vm.js:848 方法: get 对象: window 属性: navigator 属性值: Proxy(Navigator) {__cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: navigator 属性: platform 属性值: Win32 属性值类型: string
方法: get 对象: window 属性: UA_Opt 属性值: {__cheng________: true} 属性值类型: object
方法: get 对象: document 属性: createElement 属性值: 属性值类型: function
方法: toString 函数: createElement 结果: function createElement() { [native code] }
createElement script
拦截 Map.set -> 设置键: HTMLScriptElement {} 值: Element {parent: Document, prev: null, next: null, startIndex: null, endIndex: null, …}
拦截 Map.set -> 设置键: HTMLBodyElement {} 值: Element {parent: Element, prev: Text, next: null, startIndex: null, endIndex: null, …}
方法: get 对象: document 属性: body 属性值: HTMLBodyElement {} 属性值类型: object
拦截 Map.set -> 设置键: HTMLBodyElement {} 值: Element {parent: Element, prev: Text, next: null, startIndex: null, endIndex: null, …}
方法: get 对象: document 属性: body 属性值: HTMLBodyElement {} 属性值类型: object
方法: get 对象: body 属性: appendChild 属性值: 属性值类型: function
方法: toString 函数: appendChild 结果: function appendChild() { [native code] }
script .getAttribute( id ) ====> null
方法: apply 函数: appendChild 传参: [HTMLScriptElement] 结果: HTMLScriptElement {}
方法: get 对象: UA_Opt 属性: LogVal 属性值: undefined 属性值类型: undefined
获取: UA_Opt 对象的自有属性键 结果: ['__cheng________']
方法: get 对象: UA_Opt 属性: __cheng________ 属性值: true 属性值类型: boolean
setInterval 10
方法: set 对象: window 属性: UA_Opt 属性值: HTMLScriptElement {__cheng________: true, _LogVal: undefined, _LogVals: {…}} 属性值类型: object
方法: get 对象: window 属性: UA_Opt 属性值: HTMLScriptElement {__cheng________: true, _LogVal: undefined, _LogVals: {…}, getStatus: ƒ, resetSA: ƒ, …} 属性值类型: object
方法: set 对象: window 属性: __acjs_awsc_140 属性值: {getUA: ƒ, isReadyForSC: ƒ, resetSA: ƒ, decryptJSON: ƒ, getVersion: ƒ} 属性值类型: object
方法: get 对象: window 属性: AWSCInner 属性值: undefined 属性值类型: undefined
方法: get 对象: window 属性: Date 属性值: 属性值类型: function
方法: get 对象: window 属性: Math 属性值: Math {abs: ƒ, acos: ƒ, acosh: ƒ, asin: ƒ, asinh: ƒ, …} 属性值类型: object
方法: get 对象: Math 属性: random 属性值: 属性值类型: function
方法: apply 函数: random 传参: [] 结果: 0.606842215788908
方法: get 对象: window 属性: Date 属性值: 属性值类型: function
方法: get 对象: document 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: document 属性值: Proxy(HTMLDocument) {__cheng________: true} 属性值类型: object
方法: get 对象: document 属性: visibilityState 属性值: visible 属性值类型: string
方法: get 对象: navigator 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: navigator 属性值: Proxy(Navigator) {__cheng________: true} 属性值类型: object
方法: get 对象: navigator 属性: userAgent 属性值: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 属性值类型: string
方法: get 对象: document 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: document 属性值: Proxy(HTMLDocument) {__cheng________: true} 属性值类型: object
方法: get 对象: document 属性: getElementsByTagName 属性值: 属性值类型: function
方法: toString 函数: getElementsByTagName 结果: function getElementsByTagName() { [native code] }
document.getElementsByTagName( body )
方法: apply 函数: getElementsByTagName 传参: ['body'] 结果: HTMLCollection {0: HTMLBodyElement}
方法: get 对象: getElementsByTagName的返回值 属性: 0 属性值: HTMLBodyElement {} 属性值类型: object
方法: get 对象: document 属性: createElement 属性值: 属性值类型: function
方法: toString 函数: createElement 结果: function createElement() { [native code] }
createElement span
拦截 Map.set -> 设置键: HTMLSpanElement {} 值: Element {parent: Document, prev: null, next: null, startIndex: null, endIndex: null, …}
方法: get 对象: document 属性: createElement 属性值: 属性值类型: function
方法: toString 函数: createElement 结果: function createElement() { [native code] }
createElement div
拦截 Map.set -> 设置键: HTMLDivElement {} 值: Element {parent: Document, prev: null, next: null, startIndex: null, endIndex: null, …}
span .getAttribute( style ) ====> null
方法: get 对象: 0 属性: appendChild 属性值: 属性值类型: function
方法: toString 函数: appendChild 结果: function appendChild() { [native code] }
span .getAttribute( id ) ====> null
方法: get 对象: 0 属性: removeChild 属性值: 属性值类型: function
方法: toString 函数: removeChild 结果: function removeChild() { [native code] }
removeChild => HTMLSpanElement {__lin__style__: Proxy(CSSStyleDeclaration)}
span .getAttribute( id ) ====> null
方法: apply 函数: removeChild 传参: [HTMLSpanElement] 结果: HTMLSpanElement {__lin__style__: Proxy(CSSStyleDeclaration)}
方法: get 对象: 0 属性: appendChild 属性值: 属性值类型: function
方法: toString 函数: appendChild 结果: function appendChild() { [native code] }
span .getAttribute( id ) ====> null
方法: get 对象: 0 属性: removeChild 属性值: 属性值类型: function
方法: toString 函数: removeChild 结果: function removeChild() { [native code] }
removeChild => HTMLSpanElement {__lin__style__: Proxy(CSSStyleDeclaration), __cheng________: true}
span .getAttribute( id ) ====> null
方法: get 对象: 0 属性: appendChild 属性值: 属性值类型: function
方法: toString 函数: appendChild 结果: function appendChild() { [native code] }
span .getAttribute( id ) ====> null
方法: get 对象: 0 属性: removeChild 属性值: 属性值类型: function
方法: toString 函数: removeChild 结果: function removeChild() { [native code] }
removeChild => HTMLSpanElement {__lin__style__: Proxy(CSSStyleDeclaration), __cheng________: true}
span .getAttribute( id ) ====> null
方法: get 对象: 0 属性: appendChild 属性值: 属性值类型: function
方法: toString 函数: appendChild 结果: function appendChild() { [native code] }
div .getAttribute( id ) ====> null
方法: get 对象: 0 属性: removeChild 属性值: 属性值类型: function
方法: toString 函数: removeChild 结果: function removeChild() { [native code] }
removeChild => HTMLDivElement {}
div .getAttribute( id ) ====> null
方法: get 对象: window 属性: parseInt 属性值: 属性值类型: function
方法: get 对象: window 属性: Math 属性值: Math {__cheng________: true, abs: ƒ, acos: ƒ, acosh: ƒ, asin: ƒ, …} 属性值类型: object
方法: apply 函数: parseInt 传参: (2) ['00000001', 2] 结果: 1
方法: apply 函数: parseInt 传参: (2) ['11111101', 2] 结果: 253
方法: apply 函数: parseInt 传参: (2) ['00000000', 2] 结果: 0
方法: apply 函数: parseInt 传参: (2) ['10100000', 2] 结果: 160
方法: apply 函数: parseInt 传参: (2) ['01011100', 2] 结果: 92
方法: apply 函数: parseInt 传参: (2) ['01010111', 2] 结果: 87
方法: apply 函数: parseInt 传参: (2) ['10100001', 2] 结果: 161
方法: apply 函数: parseInt 传参: (2) ['00101011', 2] 结果: 43
方法: apply 函数: parseInt 传参: (2) ['10101001', 2] 结果: 169
方法: apply 函数: parseInt 传参: (2) ['01111010', 2] 结果: 122
方法: apply 函数: parseInt 传参: (2) ['00010101', 2] 结果: 21
方法: apply 函数: parseInt 传参: (2) ['01010001', 2] 结果: 81
方法: apply 函数: parseInt 传参: (2) ['10010101', 2] 结果: 149
方法: apply 函数: parseInt 传参: (2) ['00000010', 2] 结果: 2
方法: apply 函数: parseInt 传参: (2) ['01100000', 2] 结果: 96
方法: apply 函数: parseInt 传参: (2) ['10011110', 2] 结果: 158
方法: apply 函数: parseInt 传参: (2) ['10001101', 2] 结果: 141
方法: apply 函数: parseInt 传参: (2) ['00110011', 2] 结果: 51
方法: apply 函数: parseInt 传参: (2) ['10110100', 2] 结果: 180
方法: apply 函数: parseInt 传参: (2) ['10111010', 2] 结果: 186
方法: apply 函数: parseInt 传参: (2) ['00000011', 2] 结果: 3
方法: apply 函数: parseInt 传参: (2) ['10111010', 2] 结果: 186
方法: apply 函数: parseInt 传参: (2) ['00100000', 2] 结果: 32
方法: apply 函数: parseInt 传参: (2) ['01101010', 2] 结果: 106
方法: apply 函数: parseInt 传参: (2) ['00101100', 2] 结果: 44
方法: apply 函数: parseInt 传参: (2) ['01010111', 2] 结果: 87
方法: apply 函数: parseInt 传参: (2) ['00100001', 2] 结果: 33
方法: apply 函数: parseInt 传参: (2) ['00001000', 2] 结果: 8
方法: apply 函数: parseInt 传参: (2) ['11000001', 2] 结果: 193
方法: apply 函数: parseInt 传参: (2) ['11010011', 2] 结果: 211
方法: apply 函数: parseInt 传参: (2) ['00001111', 2] 结果: 15
方法: apply 函数: parseInt 传参: (2) ['10000101', 2] 结果: 133
方法: apply 函数: parseInt 传参: (2) ['10101000', 2] 结果: 168
方法: apply 函数: parseInt 传参: (2) ['01101011', 2] 结果: 107
方法: apply 函数: parseInt 传参: (2) ['00100011', 2] 结果: 35
方法: apply 函数: parseInt 传参: (2) ['00001101', 2] 结果: 13
方法: apply 函数: parseInt 传参: (2) ['10000000', 2] 结果: 128
方法: get 对象: document 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: document 属性值: Proxy(HTMLDocument) {__cheng________: true} 属性值类型: object
方法: get 对象: document 属性: hasFocus 属性值: 属性值类型: function
方法: toString 函数: hasFocus 结果: function hasFocus() { [native code] }
方法: get 对象: document 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: document 属性值: Proxy(HTMLDocument) {__cheng________: true} 属性值类型: object
方法: get 对象: document 属性: hasFocus 属性值: 属性值类型: function
方法: toString 函数: hasFocus 结果: function hasFocus() { [native code] }
方法: get 对象: window 属性: Math 属性值: Math {__cheng________: true, abs: ƒ, acos: ƒ, acosh: ƒ, asin: ƒ, …} 属性值类型: object
方法: get 对象: window 属性: PerformanceEntry 属性值: undefined 属性值类型: undefined
方法: get 对象: document 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: document 属性值: Proxy(HTMLDocument) {__cheng________: true} 属性值类型: object
方法: get 对象: window 属性: Object 属性值: 属性值类型: function
方法: get 对象: window 属性: performance 属性值: Performance {__cheng________: true} 属性值类型: object
方法: get 对象: window 属性: Date 属性值: 属性值类型: function
方法: get 对象: window 属性: Object 属性值: 属性值类型: function
方法: get 对象: window 属性: PerformanceEntry 属性值: undefined 属性值类型: undefined
方法: get 对象: window 属性: performance 属性值: Performance {__cheng________: true} 属性值类型: object
方法: get 对象: window 属性: Math 属性值: Math {__cheng________: true, abs: ƒ, acos: ƒ, acosh: ƒ, asin: ƒ, …} 属性值类型: object
调用正则的test方法,正则: /_n1t|_n1z|nocaptcha|-stage-1/ 源字符串: /nc_1_n1z/nc_iconfont btn_slide/nc_1_n1t/nc_scale/nc_1_wrapper/nc_wrapper/ 结果是 true
方法: get 对象: navigator 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: navigator 属性值: Proxy(Navigator) {__cheng________: true} 属性值类型: object
方法: get 对象: navigator 属性: platform 属性值: Win32 属性值类型: string
方法: get 对象: window 属性: parseInt 属性值: 属性值类型: function
方法: get 对象: window 属性: Math 属性值: Math {__cheng________: true, abs: ƒ, acos: ƒ, acosh: ƒ, asin: ƒ, …} 属性值类型: object
方法: get 对象: document 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: document 属性值: Proxy(HTMLDocument) {__cheng________: true} 属性值类型: object
拦截 Map.set -> 设置键: HTMLBodyElement {} 值: Element {parent: Element, prev: Text, next: null, startIndex: null, endIndex: null, …}
方法: get 对象: document 属性: body 属性值: HTMLBodyElement {} 属性值类型: object
方法: get 对象: document 属性: documentElement 属性值: HTMLHtmlElement {} 属性值类型: object
方法: get 对象: window 属性: screen 属性值: Screen {} 属性值类型: object
方法: get 对象: window 属性: screenLeft 属性值: 0 属性值类型: number
方法: get 对象: window 属性: screenTop 属性值: 0 属性值类型: number
方法: get 对象: screen 属性: availWidth 属性值: 1920 属性值类型: number
方法: get 对象: screen 属性: width 属性值: 1920 属性值类型: number
方法: get 对象: screen 属性: height 属性值: 1080 属性值类型: number
方法: get 对象: window 属性: innerHeight 属性值: 911 属性值类型: number
方法: get 对象: window 属性: outerWidth 属性值: 属性值类型: function
方法: toString 函数: outerWidth 结果: function outerWidth() { [native code] }
方法: get 对象: window 属性: innerWidth 属性值: 1920 属性值类型: number
方法: toString 函数: outerWidth 结果: function outerWidth() { [native code] }
方法: get 对象: window 属性: innerWidth 属性值: 1920 属性值类型: number
方法: get 对象: documentElement 属性: clientWidth 属性值: 1920 属性值类型: number
方法: get 对象: body 属性: clientWidth 属性值: 1920 属性值类型: number
方法: get 对象: body 属性: clientHeight 属性值: 911 属性值类型: number
方法: get 对象: window 属性: innerHeight 属性值: 911 属性值类型: number
方法: get 对象: window 属性: outerHeight 属性值: 1032 属性值类型: number
方法: get 对象: screen 属性: availHeight 属性值: 1032 属性值类型: number
方法: get 对象: documentElement 属性: clientHeight 属性值: 911 属性值类型: number
方法: get 对象: location 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: location 属性值: Proxy(Location) {…} 属性值类型: object
方法: get 对象: window 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: top 属性值: Proxy(Window) {Function: Proxy(Function), Proxy: ƒ, eval: ƒ, e: ƒ, o: ƒ, …} 属性值类型: object
方法: get 对象: document 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: document 属性值: Proxy(HTMLDocument) {__cheng________: true} 属性值类型: object
方法: get 对象: location 属性: href 属性值: https://xindafengche.souche.com/#/login?action=accountLogin 属性值类型: string
方法: get 对象: document 属性: referrer 属性值: https://xindafengche.souche.com 属性值类型: string
in检测:'__BROWSERTOOLS_DOMEXPLORER_ADDED' in window=>>false
方法: get 对象: document 属性: __cheng________ 属性值: true 属性值类型: boolean
方法: get 对象: window 属性: document 属性值: Proxy(HTMLDocument) {__cheng________: true} 属性值类型: object
VM526 vm.js:863 in检测:'__IE_DEVTOOLBAR_CONSOLE_EVAL_RESULT' in document=>>false
VM526 vm.js:863 in检测:'__IE_DEVTOOLBAR_CONSOLE_COMMAND_LINE' in window=>>false
VM526 vm.js:848 方法: get 对象: navigator 属性: __cheng________ 属性值: true 属性值类型: boolean
VM526 vm.js:848 方法: get 对象: window 属性: navigator 属性值: Proxy(Navigator) {__cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: navigator 属性: platform 属性值: Win32 属性值类型: string
VM526 vm.js:1251 调用match方法, 源字符串: String {'Win32'} 目标正则 /win/i 结果是 ['Win', index: 0, input: 'Win32', groups: undefined]
VM526 vm.js:848 方法: get 对象: navigator 属性: __cheng________ 属性值: true 属性值类型: boolean
VM526 vm.js:848 方法: get 对象: window 属性: navigator 属性值: Proxy(Navigator) {__cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: navigator 属性: oscpu 属性值: undefined 属性值类型: undefined
VM526 vm.js:848 方法: get 对象: window 属性: ApplePaySession 属性值: undefined 属性值类型: undefined
VM526 vm.js:848 方法: get 对象: navigator 属性: platform 属性值: Win32 属性值类型: string
VM526 vm.js:848 方法: get 对象: window 属性: ApplePayError 属性值: undefined 属性值类型: undefined
VM526 vm.js:842 方法: get 对象: window 属性: Bluetooth 属性值: ƒ Bluetooth() {
debugger;
my_env.cheng_lin('window.Bluetooth ->', arguments, '记得补');
} 属性值类型: function
VM526 vm.js:1014 方法: toString 函数: Bluetooth 结果: function Bluetooth() { [native code] }
VM526 vm.js:848 方法: get 对象: navigator 属性: platform 属性值: Win32 属性值类型: string
VM526 vm.js:848 方法: get 对象: navigator 属性: platform 属性值: Win32 属性值类型: string
VM526 vm.js:842 方法: get 对象: window 属性: BluetoothDevice 属性值: ƒ BluetoothDevice() {
debugger;
my_env.cheng_lin('window.BluetoothDevice ->', arguments, '记得补');
} 属性值类型: function
VM526 vm.js:1014 方法: toString 函数: BluetoothDevice 结果: function BluetoothDevice() { [native code] }
VM526 vm.js:842 方法: get 对象: window 属性: BluetoothUUID 属性值: ƒ BluetoothUUID() {
debugger;
my_env.cheng_lin('window.BluetoothUUID ->', arguments, '记得补');
} 属性值类型: function
VM526 vm.js:1014 方法: toString 函数: BluetoothUUID 结果: function BluetoothUUID() { [native code] }
VM526 vm.js:848 方法: get 对象: window 属性: ucapi 属性值: undefined 属性值类型: undefined
VM526 vm.js:848 方法: get 对象: window 属性: UCCoreJava 属性值: undefined 属性值类型: undefined
VM526 vm.js:848 方法: get 对象: navigator 属性: __cheng________ 属性值: true 属性值类型: boolean
VM526 vm.js:848 方法: get 对象: window 属性: navigator 属性值: Proxy(Navigator) {__cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: navigator 属性: userAgent 属性值: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 属性值类型: string
VM526 vm.js:1251 调用match方法, 源字符串: String {'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb…KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36'} 目标正则 /(Edge)\/([0-9\.]*)/ 结果是 null
VM526 vm.js:1251 调用match方法, 源字符串: String {'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb…KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36'} 目标正则 /(Chrome)\/([0-9\.]*)/ 结果是 (3) ['Chrome/136.0.0.0', 'Chrome', '136.0.0.0', index: 81, input: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb…KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36', groups: undefined]
VM526 vm.js:848 方法: get 对象: window 属性: __$cdc7c2f8ab481c8964b__ 属性值: undefined 属性值类型: undefined
VM526 vm.js:848 方法: get 对象: navigator 属性: __cheng________ 属性值: true 属性值类型: boolean
VM526 vm.js:848 方法: get 对象: window 属性: navigator 属性值: Proxy(Navigator) {__cheng________: true} 属性值类型: object
VM526 vm.js:832 方法: get 对象: navigator 属性: plugins 属性值: PluginArray {0: Plugin, 1: Plugin, 2: Plugin, 3: Plugin, 4: Plugin, Chrome PDF Viewer: Plugin, Chromium PDF Viewer: Plugin, Microsoft Edge PDF Viewer: Plugin, PDF Viewer: Plugin, WebKit built-in PDF: Plugin} 属性值类型: object
VM526 vm.js:848 方法: get 对象: window 属性: ActiveXObject 属性值: undefined 属性值类型: undefined
VM526 vm.js:848 方法: get 对象: plugins 属性: length 属性值: 5 属性值类型: number
VM526 vm.js:832 方法: get 对象: plugins 属性: 0 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType} 属性值类型: object
VM526 vm.js:848 方法: get 对象: 0 属性: name 属性值: null 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 0 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 0 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 0 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 0 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 0 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 0 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 0 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: length 属性值: 5 属性值类型: number
VM526 vm.js:832 方法: get 对象: plugins 属性: 1 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType} 属性值类型: object
VM526 vm.js:848 方法: get 对象: 1 属性: name 属性值: null 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 1 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 1 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 1 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 1 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 1 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 1 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 1 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: length 属性值: 5 属性值类型: number
VM526 vm.js:832 方法: get 对象: plugins 属性: 2 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType} 属性值类型: object
VM526 vm.js:848 方法: get 对象: 2 属性: name 属性值: null 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 2 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 2 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 2 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 2 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 2 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 2 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 2 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: length 属性值: 5 属性值类型: number
VM526 vm.js:832 方法: get 对象: plugins 属性: 3 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType} 属性值类型: object
VM526 vm.js:848 方法: get 对象: 3 属性: name 属性值: null 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 3 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 3 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 3 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 3 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 3 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 3 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 3 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: length 属性值: 5 属性值类型: number
VM526 vm.js:832 方法: get 对象: plugins 属性: 4 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType} 属性值类型: object
VM526 vm.js:848 方法: get 对象: 4 属性: name 属性值: null 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 4 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 4 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 4 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 4 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 4 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 4 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: 4 属性值: Plugin {0: MimeType, 1: MimeType, application/pdf: MimeType, text/pdf: MimeType, __cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: plugins 属性: length 属性值: 5 属性值类型: number
VM526 vm.js:848 方法: get 对象: document 属性: __cheng________ 属性值: true 属性值类型: boolean
VM526 vm.js:848 方法: get 对象: window 属性: document 属性值: Proxy(HTMLDocument) {__cheng________: true} 属性值类型: object
VM526 vm.js:848 方法: get 对象: document 属性: createElement 属性值: ƒ createElement(tag_name) {
if (this instanceof Document) {
my_env.cheng_lin("createElement", tag_name);
let c_elem;
let obj;
switch (tag_na… 属性值类型: function
VM526 vm.js:1014 方法: toString 函数: createElement 结果: function createElement() { [native code] }
VM526 vm.js:9076 createElement canvas
VM526 vm.js:28 拦截 Map.set -> 设置键: HTMLCanvasElement {} 值: Element {parent: Document, prev: null, next: null, startIndex: null, endIndex: null, …}
VM526 vm.js:28 拦截 Map.set -> 设置键: HTMLCanvasElement {} 值: Canvas {type: 'image', stride: 0, width: 0, height: 0}
VM526 vm.js:11957 canvas .setAttribute( width 300 )
VM526 vm.js:11957 canvas .setAttribute( height 150 )
VM526 vm.js:28 拦截 Map.set -> 设置键: HTMLCanvasElement {} 值: CanvasRenderingContext2D {}
VM526 vm.js:28 拦截 Map.set -> 设置键: CanvasRenderingContext2D {} 值: CanvasRenderingContext2D {canvas: Canvas, pixelFormat: 'RGBA32', patternQuality: 'good', imageSmoothingEnabled: true, globalCompositeOperation: 'source-over', …}
VM526 vm.js:11957 canvas .setAttribute( width 400 )
VM526 vm.js:11494 canvas .getAttribute( style ) ====> null
VM526 vm.js:11957 canvas .setAttribute( height 60 )
VM526 vm.js:842 方法: get 对象: window 属性: Document 属性值: ƒ Document() {
my_env.plugins.throw_error(TypeError, "Illegal constructor");
} 属性值类型: function
VM526 vm.js:1014 方法: toString 函数: Document 结果: function Document() { [native code] }
VM526 vm.js:848 方法: get 对象: window 属性: Object 属性值: ƒ Object() { [native code] } 属性值类型: function
VM526 vm.js:848 方法: get 对象: window 属性: Document 属性值: ƒ Document() {
my_env.plugins.throw_error(TypeError, "Illegal constructor");
} 属性值类型: function
VM526 vm.js:1014 方法: toString 函数: Document 结果: function Document() { [native code] }
VM526 vm.js:848 方法: get 对象: window 属性: Object 属性值: ƒ Object() { [native code] } 属性值类型: function
VM526 vm.js:848 方法: get 对象: window 属性: Object 属性值: ƒ Object() { [native code] } 属性值类型: function
VM526 vm.js:842 方法: get 对象: window 属性: Error 属性值: ƒ (...args) {
const err = new OriginalError(...args);
if (err.stack) {
my_env.plugins.handle_error(err);
}
return err;
} 属性值类型: function
VM526 vm.js:1014 方法: toString 函数: Error 结果: function Error() { [native code] }
VM526 vm.js:1152 有错误, 处理后 Error
at Object.construct (collina.js:944:38)
at collina.js:29660:33
at collina.js:29699:26
at e (collina.js:31614:18)
at collina.js:42051:1
at Script.runInContext (collina:149:12)
at collina.js:288:18
at collina.js:508:16
at collina.js:75:20
VM526 vm.js:945 方法: construct 函数: Error 传参: [] 结果: Error
at Object.construct (collina.js:944:38)
at collina.js:29660:33
at collina.js:29699:26
at e (collina.js:31614:18)
at collina.js:42051:1
at Script.runInContext (collina:149:12)
at collina.js:288:18
at collina.js:508:16
at collina.js:75:20
VM526 vm.js:832 方法: get 对象: window 属性: console 属性值: console {debug: ƒ, error: ƒ, info: ƒ, log: ƒ, warn: ƒ, …} 属性值类型: object
VM526 vm.js:842 方法: get 对象: console 属性: groupEnd 属性值: ƒ groupEnd() { [native code] } 属性值类型: function
VM526 vm.js:842 方法: get 对象: console 属性: context 属性值: ƒ context() { [native code] } 属性值类型: function
VM526 vm.js:848 方法: get 对象: console 属性: context 属性值: ƒ context() { [native code] } 属性值类型: function
VM526 vm.js:848 方法: get 对象: window 属性: parseInt 属性值: ƒ parseInt() { [native code] } 属性值类型: function
VM526 vm.js:848 方法: get 对象: window 属性: Math 属性值: Math {__cheng________: true, abs: ƒ, acos: ƒ, acosh: ƒ, asin: ƒ, …} 属性值类型: object
VM84 main.js:79
140#W9OrVM05zzZbAQo24zps4pN8s9z1ghMSLlZi+Bwa4+rWKtU4XSRTRqL3/cEiKMB/L0ACjjokzPNTlp1zzXRYKJFFrFrxxLIoa6h/jVxFfml+N1p+AcyO8BKp8nyeUgPU8kgW/cWMTKgzGt65XJmAYXJSiv9yMpE1QYlCqW7QTgq2apiSXy7/Y2II5vAVwtqNUkwuuw488NNq74RER/mt6OK6lE9gTy7gbh7x/Vvle/jD9uRIK6mAa1ghVD5Mw6gJQ4JB2P6euHkHguzxzDzbVXE/lbc9GoYGN3JXzHOb2XU+l1+rq3XEdrvZrI7Zb6MVsJ+i+OBeUyPwEQLJ0wDGQQY6/hnwqzIlpFFoqzOqTJlBHTdWFYGecgkK3LwS/owuLgY53uDEORXcLTxzRrDCZWb0/3NgzcTmliO3mz61Rh6r8xVegDtb8Sz76MUNiV8KKjzhUuaJfrXH0ZbCQ1WaPly5MbpVeeUTYMTBN4vWOcZUyFXiK1EF/iAfi/Hs4BwUftVnAwXx/O3sNPsiftbH6y55zfavPm/RqAx8ZR8P38yX2mxnrxy4IWps4wCwbykMvpaOF/KojAupcykzwCZFlzK1Qpl5l9n/ip3oF+IRz0bDZSYbxdjs5bsKZgWtazzQc8wuulHpjhMyJeKK8qmeGtLuQ6v0COTb6ok06iproM9OZwRAfUgYjPCfvNRpOIT4blX06UZAUhClNWWrNY28yH0nqYEFsnUY4xJY69/laybJKbTCc2hGF5EHnf4ZDSn5qJWHdPPe6hCj6Q2BYd7gYwjlLCd0/3WRk0Uujd3DBGXN309c1dGD/VaLQxIy80RAtleUKXXmLwOXruZPqnTcKzBx7Bi5Szl4Mjavw+egNMK1i8gdUHG176lwVU8MjswSlf5NbdNr0cOo2cDDtYmZ7Jvaw0jp6uRr8oHzefIvNuXujJ/eVAJtgEwgEQwoQGHfPZWFDlCxTiHfbupVvT4oB239Jf63PR51SAdVm9yM2aqto5Ac0P6sZhz7xmyADFjUTE9hHIhd6RDx9fpa+CsMpimmcdRqTNBrHx2XYxB3GsJYj+igfVghz0KXUVAzHyNMuxie1wBlDRu3BkAUGDN7ullMbBFlwrn80c3LpwIzOjFvtYlybrHV7or1qlKhpGlfmzrWdt6FMT0lyIez9/wQM+vODhPKJj494zFcLK8wT+GEhSSOyO5TmiedjejRrMjPgOE6yD6zddD0JkN1/1SrJpDvnBAoWMWTdcNMuhMzz7f9/F4VHE/P+oRDqsesYxPV4f46R1OKe0FD9kCM6U90DYOaPAbrEXfE7V8fug7vH0vHOj6HVR4lkfhtqdLVlIFZuUEltslsl0EUxnyDb3ICjlSTA4jCXXYndvDPwCNCWwFZ4ac9PMBVA843uJo3X0XeCfWay8cuDD2pInzZTppX8V02U78r9g9p+F/8D46hZj+nnqPvwTwNrpr/r1fOtOcnceNKvZO+6MlSbSFcOskwhgMxxexgyARNZpPY27GM9UaEmwgkSS/orEkB0YnK6pd2SLuQR+t/u+NI1nMl3/H0i9OgwpV7EsH7pAMmdox4vPK/U3NaaluWGnoK7ZbZBJmNDGnjnZi5XuV98rsI5htz1tucS/m6lOX6DR0YoKPvIy7bL/IwoZF=